WorkflowApplication.Unload Método

Definición

Conserva y descarga una instancia de flujo de trabajo.

Sobrecargas

Nombre Description
Unload(TimeSpan)

Conserva y descarga una instancia de flujo de trabajo mediante el intervalo de tiempo de espera especificado.

Unload()

Conserva y descarga una instancia de flujo de trabajo.

Comentarios

De forma predeterminada, la operación de descarga debe completarse en 30 segundos o se produce una TimeoutException excepción .

Si la instancia de flujo de trabajo se cargó previamente de la persistencia, se usa la misma InstanceStore que se usa para cargar el flujo de trabajo para la persistencia. Si el flujo de trabajo se creó y aún no se ha conservado, debe configurarse antes de llamar a este método o, de lo contrario, InstanceStore se produce una InvalidOperationException excepción cuando se llama a este método.

Unload(TimeSpan)

Conserva y descarga una instancia de flujo de trabajo mediante el intervalo de tiempo de espera especificado.

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

Parámetros

timeout
TimeSpan

Intervalo en el que se debe completar la operación de descarga antes de que se cancele la operación y se produzca una TimeoutException excepción .

Ejemplos

En este ejemplo, el flujo de trabajo está inactivo y la aplicación host está esperando la entrada del usuario. Si el usuario decide descargar, Unload se llama a . Si se ejecuta correctamente, el flujo de trabajo se conserva y se descarga de la memoria.

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

Comentarios

Si la instancia de flujo de trabajo se cargó previamente de la persistencia, se usa la misma InstanceStore que se usa para cargar el flujo de trabajo para la persistencia. Si el flujo de trabajo se creó y aún no se ha conservado, debe configurarse antes de llamar a este método o, de lo contrario, InstanceStore se produce una InvalidOperationException excepción cuando se llama a este método.

Se aplica a

Unload()

Conserva y descarga una instancia de flujo de trabajo.

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

Ejemplos

En este ejemplo, el flujo de trabajo está inactivo y la aplicación host está esperando la entrada del usuario. Si el usuario decide descargar, Unload se llama a . Si se ejecuta correctamente, el flujo de trabajo se conserva y se descarga de la memoria.

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

Comentarios

De forma predeterminada, la operación de descarga debe completarse en 30 segundos o se produce una TimeoutException excepción .

Si la instancia de flujo de trabajo se cargó previamente de la persistencia, se usa la misma InstanceStore que se usa para cargar el flujo de trabajo para la persistencia. Si el flujo de trabajo se creó y aún no se ha conservado, debe configurarse antes de llamar a este método o, de lo contrario, InstanceStore se produce una InvalidOperationException excepción cuando se llama a este método.

Se aplica a