WorkflowApplication.Unload Méthode

Définition

Conserve et décharge une instance de flux de travail.

Surcharges

Nom Description
Unload(TimeSpan)

Conserve et décharge une instance de flux de travail à l’aide de l’intervalle de délai d’attente spécifié.

Unload()

Conserve et décharge une instance de flux de travail.

Remarques

Par défaut, l’opération de déchargement doit se terminer en 30 secondes ou une TimeoutException opération est levée.

Si l’instance de flux de travail a été précédemment chargée à partir de la persistance, celle InstanceStore utilisée pour charger le flux de travail est utilisée pour la persistance. Si le flux de travail a été créé et n’a pas encore été conservé, il InstanceStore doit être configuré avant d’appeler cette méthode ou une InvalidOperationException autre est levée lorsque cette méthode est appelée.

Unload(TimeSpan)

Conserve et décharge une instance de flux de travail à l’aide de l’intervalle de délai d’attente spécifié.

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

Paramètres

timeout
TimeSpan

Intervalle dans lequel l’opération de déchargement doit se terminer avant l’annulation de l’opération et l’opération TimeoutException est levée.

Exemples

Dans cet exemple, le flux de travail est inactif et l’application hôte attend l’entrée utilisateur. Si l’utilisateur choisit de décharger, Unload est appelé. En cas de réussite, le flux de travail est conservé et déchargé de la mémoire.

// 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();
}

Remarques

Si l’instance de flux de travail a été précédemment chargée à partir de la persistance, celle InstanceStore utilisée pour charger le flux de travail est utilisée pour la persistance. Si le flux de travail a été créé et n’a pas encore été conservé, il InstanceStore doit être configuré avant d’appeler cette méthode ou une InvalidOperationException autre est levée lorsque cette méthode est appelée.

S’applique à

Unload()

Conserve et décharge une instance de flux de travail.

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

Exemples

Dans cet exemple, le flux de travail est inactif et l’application hôte attend l’entrée utilisateur. Si l’utilisateur choisit de décharger, Unload est appelé. En cas de réussite, le flux de travail est conservé et déchargé de la mémoire.

// 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();
}

Remarques

Par défaut, l’opération de déchargement doit se terminer en 30 secondes ou une TimeoutException opération est levée.

Si l’instance de flux de travail a été précédemment chargée à partir de la persistance, celle InstanceStore utilisée pour charger le flux de travail est utilisée pour la persistance. Si le flux de travail a été créé et n’a pas encore été conservé, il InstanceStore doit être configuré avant d’appeler cette méthode ou une InvalidOperationException autre est levée lorsque cette méthode est appelée.

S’applique à