Receive Sınıf

Tanım

İleti alan etkinlik.

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
Devralma
Receive
Öznitelikler

Örnekler

Aşağıdaki örnekte, bir Receive etkinliğin nasıl oluşturulacağı ve koddaki bir iş akışına nasıl ekleneceği gösterilmektedir.

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
};

Aşağıdaki örnekte bir Receive etkinliğin nasıl oluşturulacağı ve XAML'de bir iş akışı hizmetine nasıl ekleneceği gösterilmektedir.

<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="[&quot;Message received: &quot; + 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="[&quot;Message sent: &quot; + Echo]" />
  </p:Sequence>
</WorkflowService>

Açıklamalar

Etkinlik, Receive kullanılan alma içeriğinin türüne bağlı olarak tek bir öğeyi veya birden çok öğeyi alabilir.

Uyarı

bir iş akışı aynı işlem adına sahip birden çok Receive etkinlik içerdiğinde CorrelatesOn , özelliğin aynı bağıntı sorguları kümesine ayarlanması gerekir.

Oluşturucular

Name Description
Receive()

Receive sınıfının yeni bir örneğini başlatır.

Özellikler

Name Description
Action

İletinin eylem üst bilgisinin değerini alır veya ayarlar.

CacheId

İş akışı tanımı kapsamında benzersiz olan önbelleğin tanımlayıcısını alır.

(Devralındığı yer: Activity)
CanCreateInstance

İleti mevcut bir iş akışı örneğiyle ilişkilendirilmezse iletiyi işlemek için yeni bir iş akışı örneği oluşturulup oluşturulmadığını gösteren bir değer alır veya ayarlar.

Constraints

için doğrulama sağlamak üzere Constraintyapılandırılabilir etkinlik koleksiyonunu Activity alır.

(Devralındığı yer: Activity)
Content

Alacak verileri alır veya ayarlar. İçerik bir ReceiveMessageContent veya ReceiveParametersContentolabilir.

CorrelatesOn

bağıntı MessageQuerySet verilerini ayıklamak için iletiyi sorgulamak için kullanılan değerini alır veya ayarlar.

CorrelatesWith

İletiyi uygun iş akışı örneğine yönlendirmek için kullanılan bir bağıntı tutamacını alır veya ayarlar.

CorrelationInitializers

Etkinlik çalıştırmalarıyla sorgu tabanlı, bağlam, geri çağırma bağlamı veya istek-yanıt bağıntıları başlatan bağıntı Send başlatıcıları koleksiyonunu alır.

DisplayName

Hata ayıklama, doğrulama, özel durum işleme ve izleme için kullanılan isteğe bağlı kolay bir ad alır veya ayarlar.

(Devralındığı yer: Activity)
Id

İş akışı tanımı kapsamında benzersiz bir tanımlayıcı alır.

(Devralındığı yer: Activity)
Implementation

Yürütme mantığını içeren bir Activity döndüren temsilciyi alır veya ayarlar.

(Devralındığı yer: Activity)
ImplementationVersion

Kullanılan uygulamanın sürümünü alır veya ayarlar.

(Devralındığı yer: Activity)
KnownTypes

İşlem için bilinen türlerden oluşan bir koleksiyon alır.

OperationName

tarafından Receiveuygulanan işlemin adını alır veya ayarlar.

ProtectionLevel

İşlem için koruma düzeyini gösteren bir değer alır veya ayarlar.

SerializerOption

Bu işlem için kullanılacak seri hale getiriciyi belirten bir değer alır veya ayarlar.

ServiceContractName

Hizmet sözleşmesinin adını alır veya ayarlar.

Yöntemler

Name Description
CacheMetadata(ActivityMetadata)

Etkinliğin bağımsız değişkenlerinin, değişkenlerinin, alt etkinliklerinin ve etkinlik temsilcilerinin açıklamasını oluşturur ve doğrular.

(Devralındığı yer: Activity)
Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
FromOperationDescription(OperationDescription)

Verilen sözleşme işlemi açıklamasından alma etkinliğini döndürür.

GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetType()

Geçerli örneğin Type alır.

(Devralındığı yer: Object)
MemberwiseClone()

Geçerli Objectbasit bir kopyasını oluşturur.

(Devralındığı yer: Object)
OnCreateDynamicUpdateMap(UpdateMapMetadata, Activity)

Dinamik güncelleştirme eşlemesi oluştururken bir olay oluşturur.

(Devralındığı yer: Activity)
ShouldSerializeCorrelatesOn()

Özelliğin varsayılan değerinden CorrelatesOn değiştirilip değiştirilmediğini ve seri hale getirilip getirilmeyeceğini gösteren bir değer döndürür.

ShouldSerializeDisplayName()

Özelliğin DisplayName seri hale getirilip getirilmeyeceğini gösterir.

(Devralındığı yer: Activity)
ToString()

ve StringIddeğerini içeren DisplayName bir Activity döndürür.

(Devralındığı yer: Activity)

Şunlara uygulanır

Ayrıca bkz.