WorkflowApplication.Unload Método

Definición

Conserva y descarga una instancia de flujo de trabajo.

Sobrecargas

Unload(TimeSpan)

Conserva y descarga una instancia de flujo de trabajo usando 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 se debe completar en 30 segundos o, en caso contrario, se produce una excepción TimeoutException.

Si la instancia de flujo de trabajo se cargó anteriormente de la persistencia, se usa el mismo objeto InstanceStore para cargar el flujo de trabajo que se usa para persistencia. Si se creó el flujo de trabajo y todavía no es persistente, se debe configurar un objeto InstanceStore antes de llamara a este método; de lo contrario, se genera InvalidOperationException cuando se llama a este método.

Unload(TimeSpan)

Conserva y descarga una instancia de flujo de trabajo usando 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 de tiempo en el que debe completarse la operación de descarga antes de que se cancele la operación y se produzca una excepción TimeoutException.

Ejemplos

En este ejemplo, el flujo de trabajo está inactivo y la aplicación host está esperando los datos proporcionados por el usuario. Si el usuario decide descargar, se llama al método Unload. Si la operación se realiza 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ó anteriormente de la persistencia, se usa el mismo objeto InstanceStore para cargar el flujo de trabajo que se usa para persistencia. Si se creó el flujo de trabajo y todavía no es persistente, se debe configurar un objeto InstanceStore antes de llamara a este método; de lo contrario, se genera InvalidOperationException 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 los datos proporcionados por el usuario. Si el usuario decide descargar, se llama al método Unload. Si la operación se realiza 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 se debe completar en 30 segundos o, en caso contrario, se produce una excepción TimeoutException.

Si la instancia de flujo de trabajo se cargó anteriormente de la persistencia, se usa el mismo objeto InstanceStore para cargar el flujo de trabajo que se usa para persistencia. Si se creó el flujo de trabajo y todavía no es persistente, se debe configurar un objeto InstanceStore antes de llamara a este método; de lo contrario, se genera InvalidOperationException cuando se llama a este método.

Se aplica a