Receive 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
메시지를 받는 활동입니다.
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 |
받을 데이터를 가져오거나 설정합니다. 콘텐츠는 ReceiveMessageContent이거나 ReceiveParametersContent일 수 있습니다. |
CorrelatesOn |
상관 관계 데이터를 추출하기 위해 메시지를 쿼리하는 데 사용되는 MessageQuerySet을 가져오거나 설정합니다. |
CorrelatesWith |
메시지를 해당하는 워크플로 인스턴스로 라우트하는 데 사용되는 상관 관계 핸들을 가져오거나 설정합니다. |
CorrelationInitializers |
Send 활동을 실행하여 쿼리 기반, 컨텍스트, 콜백 컨텍스트 또는 요청-회신 상관 관계를 초기화하는 상관 관계 이니셜라이저 컬렉션을 가져옵니다. |
DisplayName |
디버깅, 유효성 검사, 예외 처리 및 추적에 사용되는 선택적 이름을 가져오거나 설정합니다. (다음에서 상속됨 Activity) |
Id |
워크플로 정의 범위에서 고유한 식별자를 가져옵니다. (다음에서 상속됨 Activity) |
Implementation |
실행 논리를 포함하는 Activity를 반환하는 대리자를 가져오거나 설정합니다. (다음에서 상속됨 Activity) |
ImplementationVersion |
사용한 구현의 버전을 가져오거나 설정합니다. (다음에서 상속됨 Activity) |
KnownTypes |
작업의 알려진 형식 컬렉션을 가져옵니다. |
OperationName |
Receive에 의해 구현되는 작업의 이름을 가져오거나 설정합니다. |
ProtectionLevel |
작업에 대한 보호 수준을 나타내는 값을 가져오거나 설정합니다. |
SerializerOption |
이 작업에 사용할 serializer를 지정하는 값을 가져오거나 설정합니다. |
ServiceContractName |
서비스 계약 이름을 가져오거나 설정합니다. |
메서드
CacheMetadata(ActivityMetadata) |
활동의 인수, 변수, 자식 활동 및 활동 대리자에 대한 설명을 만들고 유효성을 검사합니다. (다음에서 상속됨 Activity) |
Equals(Object) |
지정된 개체가 현재 개체와 같은지 확인합니다. (다음에서 상속됨 Object) |
FromOperationDescription(OperationDescription) |
지정된 계약 작업 설명에서 받기 동작을 반환합니다. |
GetHashCode() |
기본 해시 함수로 작동합니다. (다음에서 상속됨 Object) |
GetType() |
현재 인스턴스의 Type을 가져옵니다. (다음에서 상속됨 Object) |
MemberwiseClone() |
현재 Object의 단순 복사본을 만듭니다. (다음에서 상속됨 Object) |
OnCreateDynamicUpdateMap(UpdateMapMetadata, Activity) |
동적 업데이트 맵을 만들 때 이벤트를 발생시킵니다. (다음에서 상속됨 Activity) |
ShouldSerializeCorrelatesOn() |
CorrelatesOn 속성이 기본값에서 변경되었으며 이를 serialize해야 하는지 여부를 나타내는 값을 반환합니다. |
ShouldSerializeDisplayName() |
DisplayName 속성을 serialize해야 하는지 여부를 나타냅니다. (다음에서 상속됨 Activity) |
ToString() |
String의 Id 및 DisplayName을 포함하는 Activity을 반환합니다. (다음에서 상속됨 Activity) |