WorkflowCommitWorkBatchService Classe

Definizione

Attenzione

The System.Workflow.* types are deprecated. Instead, please use the new types from System.Activities.*

Consente l'uso di una logica personalizzata per il commit dei batch di lavoro.

public ref class WorkflowCommitWorkBatchService abstract : System::Workflow::Runtime::Hosting::WorkflowRuntimeService
public abstract class WorkflowCommitWorkBatchService : System.Workflow.Runtime.Hosting.WorkflowRuntimeService
[System.Obsolete("The System.Workflow.* types are deprecated.  Instead, please use the new types from System.Activities.*")]
public abstract class WorkflowCommitWorkBatchService : System.Workflow.Runtime.Hosting.WorkflowRuntimeService
type WorkflowCommitWorkBatchService = class
    inherit WorkflowRuntimeService
[<System.Obsolete("The System.Workflow.* types are deprecated.  Instead, please use the new types from System.Activities.*")>]
type WorkflowCommitWorkBatchService = class
    inherit WorkflowRuntimeService
Public MustInherit Class WorkflowCommitWorkBatchService
Inherits WorkflowRuntimeService
Ereditarietà
WorkflowCommitWorkBatchService
Derivato
Attributi

Esempio

Nell'esempio seguente viene illustrata una classe che eredita da WorkflowCommitWorkBatchService.

//Implementation of the abstract WorkflowCommitWorkBatchService class
class DefaultCommitWorkBatchService : WorkflowCommitWorkBatchService
{
    protected override void CommitWorkBatch(CommitWorkBatchCallback commitWorkBatchCallback)
    {
        // Call base implementation
        try
        {
            base.CommitWorkBatch(commitWorkBatchCallback);
        }
        catch (Exception e)
        {
            // Report work batch commit failures
            Console.WriteLine("Work batch failed: " + e.Message.ToString());
            throw;
        }
    }
}
'Implementation of the abstract WorkflowCommitWorkBatchService class
Class DefaultCommitWorkBatchService
    Inherits WorkflowCommitWorkBatchService

    Protected Overrides Sub CommitWorkBatch(ByVal commitWorkBatchCallback As CommitWorkBatchCallback)
        ' Call base implementation
        Try
            MyBase.CommitWorkBatch(commitWorkBatchCallback)
        Catch e As Exception
            ' Report work batch commit failures
            Console.WriteLine("Work batch failed: " + e.Message.ToString())
            Throw
        End Try
    End Sub
End Class

Commenti

Nota

In questo materiale vengono descritti tipi e spazi dei nomi obsoleti. Per altre informazioni, vedere Deprecated Types in Windows Workflow Foundation 4.5 (Tipi deprecati in Windows Workflow Foundation 4.5).

Quando si esegue il commit di un batch di lavoro, il runtime chiama la classe WorkflowCommitWorkBatchService e assegna a tale classe un delegato da chiamare per eseguire l'effettivo processo di commit del batch di lavoro. Il runtime è ancora il principale responsabile dell'esecuzione del commit del batch di lavoro ma consente a WorkflowCommitWorkBatchService di inserirsi nel processo per personalizzare il processo di commit.

Questo processo ammette una logica personalizzata di gestione degli errori. Se WorkflowCommitWorkBatchService possiede la transazione, come quando la proprietà Transaction.Current restituisce null rendendo necessaria la creazione di una nuova transazione di ambiente, è possibile chiamare il delegato più di una volta, creando una nuova transazione per ogni chiamata. Il contesto più comune per questo esempio consiste nella gestione di problemi di rete intermittenti o failover del cluster SQL. Se la chiamata a WorkflowCommitWorkBatchService.CommitWorkBatchCallback genera un'eccezione, WorkflowCommitWorkBatchService può rilevare questa eccezione, avviare una nuova transazione e chiamare nuovamente il delegato. L'esecuzione dell'istanza del flusso di lavoro ottiene così un livello di flessibilità senza il quale i flussi di lavoro verrebbero interrotti.

Costruttori

WorkflowCommitWorkBatchService()
Obsoleti.

Quando viene implementato in una classe derivata, inizializza una nuova istanza della classe WorkflowCommitWorkBatchService.

Proprietà

Runtime
Obsoleti.

Ottiene la classe WorkflowRuntime per questo servizio.

(Ereditato da WorkflowRuntimeService)
State
Obsoleti.

Ottiene lo stato della classe WorkflowRuntimeService.

(Ereditato da WorkflowRuntimeService)

Metodi

CommitWorkBatch(WorkflowCommitWorkBatchService+CommitWorkBatchCallback)
Obsoleti.

Chiamato per eseguire il commit del batch di lavoro.

Equals(Object)
Obsoleti.

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
GetHashCode()
Obsoleti.

Funge da funzione hash predefinita.

(Ereditato da Object)
GetType()
Obsoleti.

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
MemberwiseClone()
Obsoleti.

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
OnStarted()
Obsoleti.

Quando viene sottoposto a override in una classe derivata, rappresenta il metodo che verrà chiamato quando il motore di runtime del flusso di lavoro genera l'evento Started.

(Ereditato da WorkflowRuntimeService)
OnStopped()
Obsoleti.

Quando viene sottoposto a override in una classe derivata, rappresenta il metodo che verrà chiamato quando il motore di runtime del flusso di lavoro genera l'evento Stopped.

(Ereditato da WorkflowRuntimeService)
RaiseServicesExceptionNotHandledEvent(Exception, Guid)
Obsoleti.

Genera l'evento ServicesExceptionNotHandled.

(Ereditato da WorkflowRuntimeService)
Start()
Obsoleti.

Quando viene sottoposto a override in una classe derivata, avvia il servizio e modifica la classe State in Starting.

(Ereditato da WorkflowRuntimeService)
Stop()
Obsoleti.

Quando viene sottoposto a override in una classe derivata, arresta il servizio e modifica la classe State in Stopping.

(Ereditato da WorkflowRuntimeService)
ToString()
Obsoleti.

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Si applica a