CorrelationScope Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Предоставляет неявное CorrelationHandle управление для дочерних действий обмена сообщениями.
public ref class CorrelationScope : System::Activities::NativeActivity
public class CorrelationScope : System.Activities.NativeActivity
type CorrelationScope = class
inherit NativeActivity
Public Class CorrelationScope
Inherits NativeActivity
- Наследование
Примеры
В следующем примере показано, как создать CorrelationScopeобъект. В этом примере создается и добавляется ( SequenceCorrelationScope среди других действий). Содержит CorrelationScope объектSequence, состоящий из действия и Send действияReceiveReply.
return new Sequence
{
Variables = { po, customer },
Activities =
{
new Assign<PurchaseOrder>
{
To = po,
Value = new InArgument<PurchaseOrder>( (e) => new PurchaseOrder() { PartName = "Widget", Quantity = 150 } )
},
new Assign<Customer>
{
To = customer,
Value = new InArgument<Customer>( (e) => new Customer() { Id = 12345678, Name = "John Smith" } )
},
new WriteLine { Text = new InArgument<string>( (e) => string.Format("Submitting new PurchaseOrder for {0} {1}s", po.Get(e).Quantity, po.Get(e).PartName) ) },
new CorrelationScope
{
Body = new Sequence
{
Activities =
{
submitPO,
new ReceiveReply
{
Request = submitPO,
Content = ReceiveContent.Create(new OutArgument<int>( (e) => po.Get(e).Id ))
}
}
}
},
new WriteLine { Text = new InArgument<string>( (e) => string.Format("Received ID for new PO: {0}", po.Get(e).Id) ) },
new Assign<int> { To = new OutArgument<int>( (e) => po.Get(e).Quantity ), Value = 250 },
new WriteLine { Text = "Updated PO with new quantity: 250. Resubmitting updated PurchaseOrder based on POId." },
new Send
{
Endpoint = clientEndpoint,
ServiceContractName = Constants.POContractName,
OperationName = Constants.UpdatePOName,
Content = SendContent.Create(new InArgument<PurchaseOrder>(po))
},
new Assign<int>
{
To = new OutArgument<int>( (e) => po.Get(e).CustomerId ),
Value = new InArgument<int>( (e) => customer.Get(e).Id )
},
new WriteLine { Text = "Updating customer data based on CustomerId." },
new Send
{
Endpoint = clientEndpoint,
ServiceContractName = Constants.POContractName,
OperationName = Constants.AddCustomerInfoName,
Content = SendContent.Create(new InArgument<PurchaseOrder>(po))
},
new Send
{
Endpoint = clientEndpoint,
ServiceContractName = Constants.POContractName,
OperationName = Constants.UpdateCustomerName,
Content = SendContent.Create(new InArgument<Customer>(customer))
},
new WriteLine { Text = "Client completed." }
}
};
Комментарии
Действие CorrelationScope сохраняет неявное CorrelationHandle , которое видно только дочерним действиям. CorrelatesWith Если свойство задано пользователем, оно будет использоваться в качестве неявного дескриптораCorrelationScope. В случае вложенных CorrelationScopeдочерних элементов внутренней области не удается получить доступ к неявным дескриптору внешней области.
Конструкторы
| Имя | Описание |
|---|---|
| CorrelationScope() |
Инициализирует новый экземпляр класса CorrelationScope. |
Свойства
| Имя | Описание |
|---|---|
| Body |
Возвращает или задает логику выполнения действия. |
| CacheId |
Возвращает идентификатор кэша, уникального в области определения рабочего процесса. (Унаследовано от Activity) |
| CanInduceIdle |
Возвращает или задает значение, указывающее, может ли действие привести к простою рабочего процесса. (Унаследовано от NativeActivity) |
| Constraints |
Возвращает коллекцию Constraint действий, которые можно настроить для проверки.Activity (Унаследовано от Activity) |
| CorrelatesWith |
Возвращает или задает CorrelationHandle используемые дочерними действиями обмена сообщениями. |
| DisplayName |
Возвращает или задает необязательное понятное имя, используемое для отладки, проверки, обработки исключений и отслеживания. (Унаследовано от Activity) |
| Id |
Возвращает идентификатор, уникальный в области определения рабочего процесса. (Унаследовано от Activity) |
| Implementation |
Логика выполнения действия. (Унаследовано от NativeActivity) |
| ImplementationVersion |
Возвращает или задает версию реализации действия. (Унаследовано от NativeActivity) |
Методы
| Имя | Описание |
|---|---|
| Abort(NativeActivityAbortContext) |
При реализации в производном классе выполняет действия в ответ на прерванное действие. (Унаследовано от NativeActivity) |
| CacheMetadata(ActivityMetadata) |
Не реализовано. Используйте метод CacheMetadata(NativeActivityMetadata) вместо этого. (Унаследовано от NativeActivity) |
| CacheMetadata(NativeActivityMetadata) |
Создает и проверяет описание аргументов, переменных, дочерних действий и делегатов действий. |
| Cancel(NativeActivityContext) |
При реализации в производном классе выполняет логику, чтобы вызвать правильное завершение действия. (Унаследовано от NativeActivity) |
| Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
| Execute(NativeActivityContext) |
Вызывается средой выполнения рабочего процесса для выполнения CorrelationScope действия. |
| GetHashCode() |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
| GetType() |
Возвращает Type текущего экземпляра. (Унаследовано от Object) |
| MemberwiseClone() |
Создает неглубокую копию текущей Object. (Унаследовано от Object) |
| OnCreateDynamicUpdateMap(NativeActivityUpdateMapMetadata, Activity) |
Вызывает событие при создании карты для динамического обновления. (Унаследовано от NativeActivity) |
| OnCreateDynamicUpdateMap(UpdateMapMetadata, Activity) |
Вызывает событие при создании карты для динамического обновления. (Унаследовано от NativeActivity) |
| ShouldSerializeCorrelatesWith() |
Указывает, следует ли CorrelatesWith сериализовать свойство. |
| ShouldSerializeDisplayName() |
Указывает, следует ли DisplayName сериализовать свойство. (Унаследовано от Activity) |
| ToString() |
Возвращает объект String , содержащий Id и DisplayName из нее Activity. (Унаследовано от Activity) |
| UpdateInstance(NativeActivityUpdateContext) |
Обновляет экземпляр NativeActivity. (Унаследовано от NativeActivity) |