Condividi tramite


Intercettori BAM in un ambiente a disponibilità elevata

In questo argomento vengono descritti i processi di failover per l'intercettore WF BAM e l'intercettore WCF BAM in un ambiente a disponibilità elevata durante un failover di SQL Server.

Intercettore WF BAM

Quando si opera in un ambiente a disponibilità elevata, l'intercettore WF BAM riproverà a eseguire il recupero del file di configurazione dell'intercettore quando si verifica un problema di connessione a SQL Server durante un failover di SQL Server. Tuttavia, l'intercettore non effettuerà questo tentativo durante la scrittura di dati in un database di importazione primaria BAM quando è in corso un failover di SQL Server. Ciò è dovuto al fatto che l'intercettore si basa sul comportamento della classe WorkflowCommitBatchService durante la scrittura di dati nel database di importazione primaria BAM.

Nell'esempio seguente , DefaultWorkflowCommitWorkBatchService viene aggiunto come servizio di runtime con enableRetries="true" in modo da ritentare il batch come illustrato in un frammento di codice da un file App.config:

<add type="System.Workflow.Runtime.Hosting.DefaultWorkflowCommitWorkBatchService, System.Workflow.Runtime, Version=3.0.00000.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"  enableRetries="True"/>

Tuttavia, se sono presenti transazioni di ambiente quando viene chiamato il metodo CommitWorkBatch, l'istanza del flusso di lavoro viene terminata immediatamente quando non è disponibile una connessione SQL Server.

Per altre informazioni sul comportamento della classe WorkflowCommitBatchService in un ambiente a disponibilità elevata, vedere la sezione "Affidabilità e disponibilità elevata" in "Introduzione all'hosting di Windows Workflow Foundation" all'indirizzo https://go.microsoft.com/fwlink/?LinkId=88068.

Intercettore WCF BAM

In un ambiente a disponibilità elevata, l'intercettore WCF BAM non riproverà a eseguire il recupero del file di configurazione dell'intercettore quando si verifica un problema di connessione a SQL Server durante un failover di SQL Server. Pertanto, è necessario personalizzare il codice WCF per compensare l'errore o utilizzare messaggistica affidabile per ripetere l'invio di messaggi.

Vedere anche

Intercettore WF BAM