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. В этом примере создается Sequence и добавляется CorrelationScope (среди других действий). Объект 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, которые можно настроить для выполнения проверки the 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) |