Bagikan melalui


SqlWorkflowInstanceStore.Promote Metode

Definisi

Mengaitkan properti yang ditentukan dengan instans alur kerja sehingga Anda dapat mengkueri instans berdasarkan nilai tertentu untuk properti ini. Properti yang dapat digunakan dalam kueri eksternal ini dapat berjenis sederhana (misalnya: Int64, String, dan sebagainya) atau dari jenis biner berseri (byte[]). Properti biner biasanya digunakan untuk menyimpan data pelacakan.

public:
 void Promote(System::String ^ name, System::Collections::Generic::IEnumerable<System::Xml::Linq::XName ^> ^ promoteAsVariant, System::Collections::Generic::IEnumerable<System::Xml::Linq::XName ^> ^ promoteAsBinary);
public void Promote (string name, System.Collections.Generic.IEnumerable<System.Xml.Linq.XName> promoteAsVariant, System.Collections.Generic.IEnumerable<System.Xml.Linq.XName> promoteAsBinary);
member this.Promote : string * seq<System.Xml.Linq.XName> * seq<System.Xml.Linq.XName> -> unit
Public Sub Promote (name As String, promoteAsVariant As IEnumerable(Of XName), promoteAsBinary As IEnumerable(Of XName))

Parameter

name
String

Nama promosi itu sendiri.

promoteAsVariant
IEnumerable<XName>

Properti yang harus dipromosikan sebagai varian.

promoteAsBinary
IEnumerable<XName>

Properti yang harus dipromosikan sebagai aliran biner.

Keterangan

Contoh

Sampel kode berikut menunjukkan menggunakan Promosikan dalam SqlWorkflowInstanceStore.

static void Main(string[] args)
{
    // Create service host.
    WorkflowServiceHost host = new WorkflowServiceHost(CountingWorkflow(), new Uri(hostBaseAddress));

    // Add service endpoint.
    host.AddServiceEndpoint("ICountingWorkflow", new BasicHttpBinding(), "");

    // Define SqlWorkflowInstanceStore and assign it to host.
    SqlWorkflowInstanceStoreBehavior store = new SqlWorkflowInstanceStoreBehavior(connectionString);
    List<XName> variantProperties = new List<XName>()
    {
        xNS.GetName("Count")
    };
    store.Promote("CountStatus", variantProperties, null);

    host.Description.Behaviors.Add(store);

    host.WorkflowExtensions.Add<CounterStatus>(() => new CounterStatus());
    host.Open(); // This sample needs to be run with Admin privileges.
                 // Otherwise the channel listener is not allowed to open ports.
                 // See sample documentation for details.

    // Create a client that sends a message to create an instance of the workflow.
    ICountingWorkflow client = ChannelFactory<ICountingWorkflow>.CreateChannel(new BasicHttpBinding(), new EndpointAddress(hostBaseAddress));
    client.start();

    Console.WriteLine("(Press [Enter] at any time to terminate host)");
    Console.ReadLine();
    host.Close();
}

Berlaku untuk