TransactionInterop Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Facilita l'interazione tra System.Transactions i componenti e scritti in precedenza per interagire con MSDTC, COM+o System.EnterpriseServices. Questa classe non può essere ereditata.
public ref class TransactionInterop abstract sealed
public static class TransactionInterop
type TransactionInterop = class
Public Class TransactionInterop
- Ereditarietà
-
TransactionInterop
Commenti
Questa classe fornisce metodi per la propagazione delle transazioni.
Usando i metodi forniti da questa classe, è possibile interagire in due tipi di propagazioni delle transazioni, Esportazione/Importazione (modello push) e Trasmettitore/Ricevitore (modello pull).
La propagazione esportazione/importazione (modello push) prevede i passaggi seguenti:
Nel computer remoto ottenere la "posizione" del gestore transazioni di tale computer chiamando il GetWhereabouts metodo . È quindi possibile memorizzare nella cache queste informazioni sul computer client per un utilizzo futuro.
Inviare i dati contenenti le informazioni sul percorso al computer client usando qualsiasi metodo preferito.
Nel computer client usare la posizione in cui si trova per "esportare" la transazione nel computer remoto e generare una transazione "cookie". Questa operazione viene eseguita chiamando GetExportCookie e passando la posizione del computer remoto.
Inviare i dati contenenti il "cookie" della transazione al computer remoto usando qualsiasi metodo preferito.
Nel computer remoto usare la transazione "cookie" per ottenere un clone della transazione client chiamando il GetTransactionFromExportCookie metodo .
Nel computer remoto usare la transazione clone per integrare resource manager usando i EnlistVolatile metodi o EnlistDurable della Transaction classe .
La propagazione del trasmettitore/ricevitore (modello pull) prevede i passaggi seguenti:
Nel computer client, l'utilizzo della transazione genera un "token di propagazione" corrispondente chiamando GetTransmitterPropagationToken.
Inviare i dati contenenti il "token di propagazione" della transazione al computer remoto usando qualsiasi metodo preferito.
Nel computer remoto usare il "token di propagazione" per ottenere un clone della transazione client chiamando GetTransactionFromTransmitterPropagationToken.
Il modello Trasmettitore/Ricevitore offre prestazioni migliori negli scenari in cui il token di transazione viene inviato a un computer remoto, ma il computer remoto potrebbe non usarlo per ottenere la transazione. Ciò è dovuto al fatto che la transazione non viene propagata fino a quando GetTransactionFromTransmitterPropagationToken non viene chiamato . Un altro vantaggio è che il token di propagazione può essere inviato a qualsiasi computer remoto, mentre il cookie di esportazione può essere usato solo nel computer che fornisce la posizione.
Le informazioni sulle posizioni dei gestori transazioni remoti vengono incapsulate in tutti i token di propagazione, rendendoli più grandi dei cookie di transazione corrispondenti dal modello di esportazione/importazione.
Campi
| Nome | Descrizione |
|---|---|
| PromoterTypeDtc |
Tipo del processore di transazioni distribuite. |
Metodi
| Nome | Descrizione |
|---|---|
| GetDtcTransaction(Transaction) |
Ottiene un'istanza IDtcTransaction che rappresenta un oggetto Transaction. |
| GetExportCookie(Transaction, Byte[]) |
Trasforma un oggetto transazione in un cookie di transazione di esportazione. |
| GetTransactionFromDtcTransaction(IDtcTransaction) |
Genera un oggetto Transaction da un oggetto specificato IDtcTransaction. |
| GetTransactionFromExportCookie(Byte[]) |
Genera un oggetto Transaction dal cookie di esportazione specificato. |
| GetTransactionFromTransmitterPropagationToken(Byte[]) |
Genera un'istanza Transaction dal token di propagazione del trasmettitore specificato. |
| GetTransmitterPropagationToken(Transaction) |
Genera un token di propagazione per l'oggetto specificato Transaction. |
| GetWhereabouts() |
Ottiene la posizione della gestione transazioni distribuita utilizzata System.Transactions . |