Receive Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Действие, получающее сообщение.
public ref class Receive sealed : System::Activities::Activity
[System.Windows.Markup.ContentProperty("Content")]
public sealed class Receive : System.Activities.Activity
[<System.Windows.Markup.ContentProperty("Content")>]
type Receive = class
inherit Activity
Public NotInheritable Class Receive
Inherits Activity
- Наследование
- Атрибуты
Примеры
В следующем примере показано, как создать Receive действие и добавить его в рабочий процесс в коде.
Variable<string> message = new Variable<string> { Name = "message" };
Variable<string> echo = new Variable<string> { Name = "echo" };
Receive receiveString = new Receive
{
OperationName = "Echo",
ServiceContractName = "Echo",
CanCreateInstance = true,
//parameters for receive
Content = new ReceiveParametersContent
{
Parameters =
{
{"message", new OutArgument<string>(message)}
}
}
};
Sequence workflow = new Sequence()
{
Variables = { message, echo },
Activities =
{
receiveString,
new WriteLine
{
Text = new InArgument<string>(env =>("Message received: " + message.Get(env)))
},
new Assign<string>
{
Value = new InArgument<string>(env =>("<echo> " + message.Get(env))),
To = new OutArgument<string>(echo)
},
//parameters for reply
new SendReply
{
Request = receiveString,
Content = new SendParametersContent
{
Parameters =
{
{ "echo", new InArgument<string>(echo) }
},
}
},
new WriteLine
{
Text = new InArgument<string>(env =>("Message sent: " + echo.Get(env)))
},
},
};
service = new WorkflowService
{
Name = "Echo",
Body = workflow
};
В следующем примере показано, как создать Receive действие и добавить его в службу рабочего процесса в XAML.
<WorkflowService mc:Ignorable="sap" ConfigurationName="Service1" Name="Service1" mva:VisualBasic.Settings="Assembly references and imported namespaces serialized as XML namespaces" xmlns="http://schemas.microsoft.com/netfx/2009/xaml/servicemodel" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:mv="clr-namespace:Microsoft.VisualBasic;assembly=System" xmlns:mva="clr-namespace:Microsoft.VisualBasic.Activities;assembly=System.Activities" xmlns:p="http://schemas.microsoft.com/netfx/2009/xaml/activities" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:s1="clr-namespace:System;assembly=System" xmlns:s2="clr-namespace:System;assembly=System.Xml" xmlns:s3="clr-namespace:System;assembly=System.Core" xmlns:sad="clr-namespace:System.Activities.Debugger;assembly=System.Activities" xmlns:sap="http://schemas.microsoft.com/netfx/2009/xaml/activities/presentation" xmlns:scg="clr-namespace:System.Collections.Generic;assembly=System" xmlns:scg1="clr-namespace:System.Collections.Generic;assembly=System.ServiceModel" xmlns:scg2="clr-namespace:System.Collections.Generic;assembly=System.Core" xmlns:scg3="clr-namespace:System.Collections.Generic;assembly=mscorlib" xmlns:sd="clr-namespace:System.Data;assembly=System.Data" xmlns:sl="clr-namespace:System.Linq;assembly=System.Core" xmlns:ssa="clr-namespace:System.ServiceModel.Activities;assembly=System.ServiceModel.Activities" xmlns:st="clr-namespace:System.Text;assembly=mscorlib" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<p:Sequence sad:XamlDebuggerXmlReader.FileName="c:\Projects\WFServiceSnippets\WFServiceSnippets\Service1.xamlx" sap:VirtualizedContainerService.HintSize="277,644" mva:VisualBasic.Settings="Assembly references and imported namespaces serialized as XML namespaces">
<p:Sequence.Variables>
<p:Variable x:TypeArguments="CorrelationHandle" Name="__handle1" />
<p:Variable x:TypeArguments="x:String" Name="Message" />
<p:Variable x:TypeArguments="x:String" Name="Echo" />
</p:Sequence.Variables>
<sap:WorkflowViewStateService.ViewState>
<scg3:Dictionary x:TypeArguments="x:String, x:Object">
<x:Boolean x:Key="IsExpanded">True</x:Boolean>
</scg3:Dictionary>
</sap:WorkflowViewStateService.ViewState>
<Receive x:Name="__ReferenceID0" CanCreateInstance="True" DisplayName="ReceiveString" sap:VirtualizedContainerService.HintSize="255,90" OperationName="Echo" ServiceContractName="Echo">
<Receive.CorrelationInitializers>
<RequestReplyCorrelationInitializer CorrelationHandle="[__handle1]" />
</Receive.CorrelationInitializers>
<ReceiveParametersContent>
<p:OutArgument x:TypeArguments="x:String" x:Key="message">[Message]</p:OutArgument>
</ReceiveParametersContent>
</Receive>
<p:WriteLine sap:VirtualizedContainerService.HintSize="255,61" Text="["Message received: " + Message]" />
<p:Assign sap:VirtualizedContainerService.HintSize="255,58">
<p:Assign.To>
<p:OutArgument x:TypeArguments="x:String">[Echo]</p:OutArgument>
</p:Assign.To>
<p:Assign.Value>
<p:InArgument x:TypeArguments="x:String">["<echo> " + Message]</p:InArgument>
</p:Assign.Value>
</p:Assign>
<SendReply Request="{x:Reference __ReferenceID0}" DisplayName="SendReply" sap:VirtualizedContainerService.HintSize="255,90">
<SendParametersContent>
<p:InArgument x:TypeArguments="x:String" x:Key="echo">[Echo]</p:InArgument>
</SendParametersContent>
</SendReply>
<p:WriteLine sap:VirtualizedContainerService.HintSize="255,61" Text="["Message sent: " + Echo]" />
</p:Sequence>
</WorkflowService>
Комментарии
Действие Receive может получать один или несколько элементов в зависимости от типа используемого содержимого получения.
Предупреждение
Если рабочий процесс содержит несколько действий с одинаковым Receive именем операции, CorrelatesOn свойство должно иметь одинаковый набор запросов корреляции.
Конструкторы
| Имя | Описание |
|---|---|
| Receive() |
Инициализирует новый экземпляр класса Receive. |
Свойства
| Имя | Описание |
|---|---|
| Action |
Возвращает или задает значение заголовка действия сообщения. |
| CacheId |
Возвращает идентификатор кэша, уникального в области определения рабочего процесса. (Унаследовано от Activity) |
| CanCreateInstance |
Возвращает или задает значение, указывающее, создается ли новый экземпляр рабочего процесса для обработки сообщения, если сообщение не коррелирует с существующим экземпляром рабочего процесса. |
| Constraints |
Возвращает коллекцию Constraint действий, которые можно настроить для проверки.Activity (Унаследовано от Activity) |
| Content |
Возвращает или задает данные для получения. Содержимое может быть либо a ReceiveMessageContentReceiveParametersContent, либо . |
| CorrelatesOn |
Возвращает или задает используемый MessageQuerySet для запроса сообщения для извлечения данных корреляции. |
| CorrelatesWith |
Возвращает или задает дескриптор корреляции, используемый для маршрутизации сообщения в соответствующий экземпляр рабочего процесса. |
| CorrelationInitializers |
Возвращает коллекцию инициализаторов корреляции, которые инициализируют корреляцию на основе запросов, контекста, контекста обратного вызова или корреляции ответа на запрос с выполнением Send действия. |
| DisplayName |
Возвращает или задает необязательное понятное имя, используемое для отладки, проверки, обработки исключений и отслеживания. (Унаследовано от Activity) |
| Id |
Возвращает идентификатор, уникальный в области определения рабочего процесса. (Унаследовано от Activity) |
| Implementation |
Возвращает или задает делегат, возвращающий объект Activity , содержащий логику выполнения. (Унаследовано от Activity) |
| ImplementationVersion |
Возвращает или задает версию используемой реализации. (Унаследовано от Activity) |
| KnownTypes |
Возвращает коллекцию известных типов для операции. |
| OperationName |
Возвращает или задает имя операции, реализуемой методом Receive. |
| ProtectionLevel |
Возвращает или задает значение, указывающее уровень защиты для операции. |
| SerializerOption |
Возвращает или задает значение, указывающее сериализатор, используемый для этой операции. |
| ServiceContractName |
Возвращает или задает имя контракта службы. |
Методы
| Имя | Описание |
|---|---|
| CacheMetadata(ActivityMetadata) |
Создает и проверяет описание аргументов, переменных, дочерних действий и делегатов действий. (Унаследовано от Activity) |
| Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
| FromOperationDescription(OperationDescription) |
Возвращает действие получения из заданного описания операции контракта. |
| GetHashCode() |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
| GetType() |
Возвращает Type текущего экземпляра. (Унаследовано от Object) |
| MemberwiseClone() |
Создает неглубокую копию текущей Object. (Унаследовано от Object) |
| OnCreateDynamicUpdateMap(UpdateMapMetadata, Activity) |
Вызывает событие при создании карты динамического обновления. (Унаследовано от Activity) |
| ShouldSerializeCorrelatesOn() |
Возвращает значение, указывающее, изменилось ли CorrelatesOn свойство со значения по умолчанию и должно быть сериализовано. |
| ShouldSerializeDisplayName() |
Указывает, следует ли DisplayName сериализовать свойство. (Унаследовано от Activity) |
| ToString() |
Возвращает объект String , содержащий Id и DisplayName из нее Activity. (Унаследовано от Activity) |