WorkflowApplication.Unload Methode

Definitie

Houdt een werkstroomexemplaren vast en verwijdert deze.

Overloads

Name Description
Unload(TimeSpan)

Hiermee wordt een werkstroomexemplaren behouden en verwijderd met behulp van het opgegeven time-outinterval.

Unload()

Houdt een werkstroomexemplaren vast en verwijdert deze.

Opmerkingen

Standaard moet de uitlaadbewerking binnen 30 seconden worden voltooid of wordt er een TimeoutException gegenereerd.

Als het werkstroomexemplaren eerder vanuit persistentie zijn geladen, wordt hetzelfde InstanceStore gebruikt om de werkstroom te laden voor persistentie. Als de werkstroom is gemaakt en nog niet is behouden, moet u een InstanceStore configuratie uitvoeren voordat u deze methode aanroept, anders wordt er een InvalidOperationException gegenereerd wanneer deze methode wordt aangeroepen.

Unload(TimeSpan)

Hiermee wordt een werkstroomexemplaren behouden en verwijderd met behulp van het opgegeven time-outinterval.

public:
 void Unload(TimeSpan timeout);
public void Unload(TimeSpan timeout);
member this.Unload : TimeSpan -> unit
Public Sub Unload (timeout As TimeSpan)

Parameters

timeout
TimeSpan

Het interval waarin de uitlaadbewerking moet worden voltooid voordat de bewerking wordt geannuleerd en er een TimeoutException wordt gegenereerd.

Voorbeelden

In dit voorbeeld is de werkstroom niet actief en wacht de hosttoepassing op gebruikersinvoer. Als de gebruiker ervoor kiest om te verwijderen, Unload wordt deze aangeroepen. Als dit lukt, wordt de werkstroom behouden en uit het geheugen verwijderd.

// single interaction with the user. The user enters a string in the console and that
// string is used to resume the ReadLine activity bookmark
static void Interact(WorkflowApplication application, AutoResetEvent resetEvent)
{
    Console.WriteLine("Workflow is ready for input");
    Console.WriteLine("Special commands: 'unload', 'exit'");

    bool done = false;
    while (!done)
    {
        Console.Write("> ");
        string s = Console.ReadLine();
        if (s.Equals("unload"))
        {
            try
            {
                // attempt to unload will fail if the workflow is idle within a NoPersistZone
                application.Unload(TimeSpan.FromSeconds(5));
                done = true;
            }
            catch (TimeoutException e)
            {
                Console.WriteLine(e.Message);
            }
        }
        else if (s.Equals("exit"))
        {
            application.ResumeBookmark("inputBookmark", s);
            done = true;
        }
        else
        {
            application.ResumeBookmark("inputBookmark", s);
        }
    }
    resetEvent.WaitOne();
}

Opmerkingen

Als het werkstroomexemplaren eerder vanuit persistentie zijn geladen, wordt hetzelfde InstanceStore gebruikt om de werkstroom te laden voor persistentie. Als de werkstroom is gemaakt en nog niet is behouden, moet u een InstanceStore configuratie uitvoeren voordat u deze methode aanroept, anders wordt er een InvalidOperationException gegenereerd wanneer deze methode wordt aangeroepen.

Van toepassing op

Unload()

Houdt een werkstroomexemplaren vast en verwijdert deze.

public:
 void Unload();
public void Unload();
member this.Unload : unit -> unit
Public Sub Unload ()

Voorbeelden

In dit voorbeeld is de werkstroom niet actief en wacht de hosttoepassing op gebruikersinvoer. Als de gebruiker ervoor kiest om te verwijderen, Unload wordt deze aangeroepen. Als dit lukt, wordt de werkstroom behouden en uit het geheugen verwijderd.

// single interaction with the user. The user enters a string in the console and that
// string is used to resume the ReadLine activity bookmark
static void Interact(WorkflowApplication application, AutoResetEvent resetEvent)
{
    Console.WriteLine("Workflow is ready for input");
    Console.WriteLine("Special commands: 'unload', 'exit'");

    bool done = false;
    while (!done)
    {
        Console.Write("> ");
        string s = Console.ReadLine();
        if (s.Equals("unload"))
        {
            try
            {
                // attempt to unload will fail if the workflow is idle within a NoPersistZone
                application.Unload(TimeSpan.FromSeconds(5));
                done = true;
            }
            catch (TimeoutException e)
            {
                Console.WriteLine(e.Message);
            }
        }
        else if (s.Equals("exit"))
        {
            application.ResumeBookmark("inputBookmark", s);
            done = true;
        }
        else
        {
            application.ResumeBookmark("inputBookmark", s);
        }
    }
    resetEvent.WaitOne();
}

Opmerkingen

Standaard moet de uitlaadbewerking binnen 30 seconden worden voltooid of wordt er een TimeoutException gegenereerd.

Als het werkstroomexemplaren eerder vanuit persistentie zijn geladen, wordt hetzelfde InstanceStore gebruikt om de werkstroom te laden voor persistentie. Als de werkstroom is gemaakt en nog niet is behouden, moet u een InstanceStore configuratie uitvoeren voordat u deze methode aanroept, anders wordt er een InvalidOperationException gegenereerd wanneer deze methode wordt aangeroepen.

Van toepassing op