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 etkinliğin nasıl oluşturulacağı ve koddaki bir Receive 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

Receive()

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

Özellikler

Action

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

CacheId

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

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

İleti varolan bir iş akışı örneğiyle bağıntılı değilse, iletiyi işlemek için yeni bir iş akışı örneği oluşturulup oluşturulmadığını belirten bir değer alır veya ayarlar.

Constraints

Constraintİçin doğrulama sağlamak üzere yapılandırılabilecek etkinliklerin koleksiyonunu alır Activity .

(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 öğesini 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ı bir kolay ad alır veya ayarlar.

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

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

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

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

(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

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()

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

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

Geçerli Objectöğesinin sığ bir kopyasını oluşturur.

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

Dinamik güncelleştirme haritası 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 belirten bir değer döndürür.

ShouldSerializeDisplayName()

DisplayNameÖzelliğin serileştirilmesi gerekip gerekmediğini gösterir.

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

Ve öğesini String içeren bir döndürür Id DisplayName Activity .

(Devralındığı yer: Activity)

Şunlara uygulanır

Ayrıca bkz.