Bagikan melalui


Receive Kelas

Definisi

Aktivitas yang menerima pesan.

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
Warisan
Receive
Atribut

Contoh

Contoh berikut menunjukkan cara membuat Receive aktivitas dan menambahkannya ke alur kerja dalam kode.

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

Contoh berikut menunjukkan cara membuat Receive aktivitas dan menambahkannya ke layanan alur kerja di 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="[&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>  

Keterangan

Aktivitas Receive dapat menerima satu item atau beberapa item bergantung pada jenis konten terima yang digunakan.

Peringatan

Saat alur kerja berisi beberapa Receive aktivitas dengan nama operasi yang sama, CorrelatesOn properti harus diatur ke kumpulan kueri korelasi yang sama.

Konstruktor

Receive()

Menginisialisasi instans baru kelas Receive.

Properti

Action

Mendapatkan atau mengatur nilai header tindakan pesan.

CacheId

Mendapatkan pengidentifikasi cache yang unik dalam cakupan definisi alur kerja.

(Diperoleh dari Activity)
CanCreateInstance

Mendapatkan atau menetapkan nilai yang menunjukkan apakah instans alur kerja baru dibuat untuk memproses pesan jika pesan tidak berkorelasi dengan instans alur kerja yang ada.

Constraints

Mendapatkan kumpulan Constraint aktivitas yang dapat dikonfigurasi untuk memberikan validasi untuk Activity.

(Diperoleh dari Activity)
Content

Mendapatkan atau mengatur data yang akan diterima. Konten dapat berupa ReceiveMessageContent atau ReceiveParametersContent.

CorrelatesOn

Mendapatkan atau mengatur yang MessageQuerySet digunakan untuk mengkueri pesan untuk mengekstrak data korelasi.

CorrelatesWith

Mendapatkan atau mengatur handel korelasi yang digunakan untuk merutekan pesan ke instans alur kerja yang sesuai.

CorrelationInitializers

Mendapatkan kumpulan penginisialisasi korelasi yang menginisialisasi korelasi berbasis kueri, konteks, panggilan balik, atau balasan permintaan dengan aktivitas yang Send dijalankan.

DisplayName

Mendapatkan atau menetapkan nama ramah opsional yang digunakan untuk penelusuran kesalahan, validasi, penanganan pengecualian, dan pelacakan.

(Diperoleh dari Activity)
Id

Mendapatkan pengidentifikasi yang unik dalam cakupan definisi alur kerja.

(Diperoleh dari Activity)
Implementation

Mendapatkan atau mengatur delegasi yang mengembalikan yang Activity berisi logika eksekusi.

(Diperoleh dari Activity)
ImplementationVersion

Mendapatkan atau mengatur versi implementasi yang digunakan.

(Diperoleh dari Activity)
KnownTypes

Mendapatkan kumpulan jenis yang diketahui untuk operasi.

OperationName

Mendapatkan atau menetapkan nama operasi yang diimplementasikan oleh Receive.

ProtectionLevel

Mendapatkan atau menetapkan nilai yang menunjukkan tingkat perlindungan untuk operasi.

SerializerOption

Mendapatkan atau menetapkan nilai yang menentukan serializer yang akan digunakan untuk operasi ini.

ServiceContractName

Mendapatkan atau menetapkan nama kontrak layanan.

Metode

CacheMetadata(ActivityMetadata)

Membuat dan memvalidasi deskripsi argumen, variabel, aktivitas anak, dan delegasi aktivitas aktivitas.

(Diperoleh dari Activity)
Equals(Object)

Menentukan apakah objek yang ditentukan sama dengan objek saat ini.

(Diperoleh dari Object)
FromOperationDescription(OperationDescription)

Mengembalikan aktivitas penerimaan dari deskripsi operasi kontrak yang diberikan.

GetHashCode()

Berfungsi sebagai fungsi hash default.

(Diperoleh dari Object)
GetType()

Mendapatkan dari instans Type saat ini.

(Diperoleh dari Object)
MemberwiseClone()

Membuat salinan dangkal dari saat ini Object.

(Diperoleh dari Object)
OnCreateDynamicUpdateMap(UpdateMapMetadata, Activity)

Memunculkan peristiwa saat membuat peta pembaruan dinamis.

(Diperoleh dari Activity)
ShouldSerializeCorrelatesOn()

Mengembalikan nilai yang menunjukkan apakah CorrelatesOn properti telah berubah dari nilai defaultnya dan harus diserialisasikan.

ShouldSerializeDisplayName()

Menunjukkan apakah DisplayName properti harus diserialisasikan.

(Diperoleh dari Activity)
ToString()

Mengembalikan yang String berisi Id dan DisplayName dari Activity.

(Diperoleh dari Activity)

Berlaku untuk

Lihat juga