WorkflowApplication.Unload Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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.