Partager via


WorkflowApplication.Unload Méthode

Définition

Rend persistante et décharge une instance de flux de travail.

Surcharges

Unload(TimeSpan)

Rend persistante et décharge une instance de flux de travail à l'aide du délai d'attente spécifié.

Unload()

Rend persistante et décharge une instance de flux de travail.

Remarques

Par défaut, l'opération de déchargement doit être exécutée dans un délai de 30 secondes, sinon une exception TimeoutException est levée.

Si l'instance de workflow a été précédemment chargée à partir d'un point de persistance, alors, le même InstanceStore utilisé pour charger le workflow est utilisé pour la persistance. Si le workflow a été créé et n'a pas encore été rendu persistant, alors un InstanceStore doit être configuré avant d'appeler cette méthode ou bien une exception InvalidOperationException est levée lorsque cette méthode est appelée.

Unload(TimeSpan)

Rend persistante et décharge une instance de flux de travail à l'aide du 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 au cours duquel l'opération de déchargement doit être exécutée ; au-delà de ce délai, l'opération est annulée et une exception TimeoutException est levée.

Exemples

Dans cet exemple, le flux de travail est inactif et l'application hôte attend des entrées d'utilisateur. Si l'utilisateur choisit de procéder au déchargement, la méthode Unload est appelée. Si l'opération réussit, le flux de travail est rendu persistant 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 workflow a été précédemment chargée à partir d'un point de persistance, alors, le même InstanceStore utilisé pour charger le workflow est utilisé pour la persistance. Si le workflow a été créé et n'a pas encore été rendu persistant, alors un InstanceStore doit être configuré avant d'appeler cette méthode ou bien une exception InvalidOperationException est levée lorsque cette méthode est appelée.

S’applique à

Unload()

Rend persistante 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 des entrées d'utilisateur. Si l'utilisateur choisit de procéder au déchargement, la méthode Unload est appelée. Si l'opération réussit, le flux de travail est rendu persistant 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 être exécutée dans un délai de 30 secondes, sinon une exception TimeoutException est levée.

Si l'instance de workflow a été précédemment chargée à partir d'un point de persistance, alors, le même InstanceStore utilisé pour charger le workflow est utilisé pour la persistance. Si le workflow a été créé et n'a pas encore été rendu persistant, alors un InstanceStore doit être configuré avant d'appeler cette méthode ou bien une exception InvalidOperationException est levée lorsque cette méthode est appelée.

S’applique à