SqlWorkflowInstanceStore.InstanceCompletionAction Propiedad
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í.
Especifica la acción que se debe realizar cuando se completa una instancia de flujo de trabajo. Los valores posibles son "DeleteNothing" y "DeleteAll". El valor predeterminado es "DeleteAll". Si la propiedad está establecida en "DeleteNothing", el proveedor de persistencia conserva todos los datos de instancia y metadatos en la base de datos de persistencia después de que se complete la instancia de flujo de trabajo. Si la propiedad está establecida en "DeleteAll", el proveedor de persistencia elimina todos los datos de instancia y metadatos después de que se complete la instancia de flujo de trabajo.
public:
property System::Activities::DurableInstancing::InstanceCompletionAction InstanceCompletionAction { System::Activities::DurableInstancing::InstanceCompletionAction get(); void set(System::Activities::DurableInstancing::InstanceCompletionAction value); };
public System.Activities.DurableInstancing.InstanceCompletionAction InstanceCompletionAction { get; set; }
member this.InstanceCompletionAction : System.Activities.DurableInstancing.InstanceCompletionAction with get, set
Public Property InstanceCompletionAction As InstanceCompletionAction
Valor de propiedad
Acción que se debe realizar después de que se complete el flujo de trabajo.
Ejemplos
El siguiente ejemplo de código muestra cómo utilizar InstanceCompletionAction en SqlWorkflowInstanceStore.
static void Main(string[] args)
{
// Create service host.
WorkflowServiceHost host = new WorkflowServiceHost(new CountingWorkflow(), new Uri(hostBaseAddress));
// Add service endpoint.
host.AddServiceEndpoint("ICountingWorkflow", new BasicHttpBinding(), "");
// Define SqlWorkflowInstanceStoreBehavior:
// Set interval to renew instance lock to 5 seconds.
// Set interval to check for runnable instances to 2 seconds.
// Instance Store does not keep instances after it is completed.
// Select exponential back-off algorithm when retrying to load a locked instance.
// Instance state information is compressed using the GZip compressing algorithm.
SqlWorkflowInstanceStoreBehavior instanceStoreBehavior = new SqlWorkflowInstanceStoreBehavior(connectionString);
instanceStoreBehavior.HostLockRenewalPeriod = new TimeSpan(0, 0, 5);
instanceStoreBehavior.RunnableInstancesDetectionPeriod = new TimeSpan(0, 0, 2);
instanceStoreBehavior.InstanceCompletionAction = InstanceCompletionAction.DeleteAll;
instanceStoreBehavior.InstanceLockedExceptionAction = InstanceLockedExceptionAction.AggressiveRetry;
instanceStoreBehavior.InstanceEncodingOption = InstanceEncodingOption.GZip;
host.Description.Behaviors.Add(instanceStoreBehavior);
// Open service host.
host.Open();
// Create a client that sends a message to create an instance of the workflow.
ICountingWorkflow client = ChannelFactory<ICountingWorkflow>.CreateChannel(new BasicHttpBinding(), new EndpointAddress(hostBaseAddress));
client.start();
Console.WriteLine("(Press [Enter] at any time to terminate host)");
Console.ReadLine();
host.Close();
}
Comentarios
Los valores posibles son "DeleteNothing" y "DeleteAll". El valor predeterminado es "DeleteAll". Si la propiedad está establecida en "DeleteNothing", el proveedor de persistencia conserva todos los datos de instancia y metadatos en la base de datos de persistencia después de que se complete la instancia de flujo de trabajo. Si la propiedad está establecida en "DeleteAll", el proveedor de persistencia elimina todos los datos de instancia y metadatos después de que se complete la instancia de flujo de trabajo.