Share via


SqlWorkflowInstanceStore.InstanceCompletionAction Propiedad

Definición

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.

Se aplica a