Aracılığıyla paylaş


TransactionInterop Sınıf

Tanım

DAHA önce MSDTC, COM+ veya System.EnterpriseServicesile etkileşime geçmek için yazılmış olan ve bileşenleri arasındaki System.Transactions etkileşimi kolaylaştırır. Bu sınıf devralınamaz.

public ref class TransactionInterop abstract sealed
public static class TransactionInterop
type TransactionInterop = class
Public Class TransactionInterop
Devralma
TransactionInterop

Açıklamalar

Bu sınıf, işlem yayma yöntemleri sağlar. Bu işlemin nasıl çalıştığı hakkında daha fazla bilgi için bkz. İşlem Yayma.

Bu sınıf tarafından sağlanan yöntemleri kullanarak, dışarı/içeri aktarma (gönderim modeli) ve Verici/Alıcı (çekme modeli) olmak üzere iki tür işlem yayma işlemine katılabilirsiniz.

Dışarı/İçeri Aktarma (gönderme modeli) yayma işlemi aşağıdaki adımları içerir:

  1. Uzak makinede, yöntemini çağırarak bu makinenin işlem yöneticisinin "whereabouts" değerini GetWhereabouts alın. Daha sonra bu bilgi parçasını gelecekte kullanılmak üzere istemci makinesinde önbelleğe alabilirsiniz.

  2. Tercih edilen herhangi bir yöntemi kullanarak nerede olduğunu içeren verileri istemci makinesine gönderin.

  3. İstemci makinesinde, uzak makineye işlemi "dışarı aktarmak" ve bir "tanımlama bilgisi" işlemi oluşturmak için nerede olduğunu kullanın. Bu, uzak makinenin bulunduğu yeri çağırıp GetExportCookie geçirerek yapılır.

  4. Tercih edilen herhangi bir yöntemi kullanarak "tanımlama bilgisi" işlemini içeren verileri uzak makineye gönderin.

  5. Uzak makinede, yöntemini çağırarak GetTransactionFromExportCookie istemci işleminin bir kopyasını almak için "tanımlama bilgisi" işlemini kullanın.

  6. Uzak makinede, sınıfının veya EnlistDurable yöntemlerini Transaction kullanarak EnlistVolatile kaynak yöneticisini listelemek için kopyalama işlemini kullanın.

Verici/Alıcı (çekme modeli) yayma işlemi aşağıdaki adımları içerir:

  • İstemci makinesinde, işlemi kullanıldığında çağrılarak GetTransmitterPropagationTokenkarşılık gelen bir "yayma belirteci" oluşturur.

  • İşlemin "yayma belirtecini" içeren verileri tercih edilen herhangi bir yöntemi kullanarak uzak makineye gönderin.

  • Uzak makinede xref:System.Transactions.TransactionInterop.GetTransactionFromTransmitterPropagationToken%2A çağrısı <yaparak istemci işleminin bir kopyasını almak için "yayma belirtecini" kullanın.

Verici/Alıcı modeli, işlem belirtecinin uzak bir makineye gönderildiği ancak uzak makinenin işlemi elde etmek için bunu kullanmayabileceği senaryolarda daha iyi performans sağlar. Bunun nedeni, işlemin çağrılana kadar GetTransactionFromTransmitterPropagationToken yayılmamasıdır. Başka bir avantajı, yayma belirtecinin herhangi bir uzak makineye gönderilebildiği, dışarı aktarma tanımlama bilgisinin ise yalnızca nerede olduğunu sağlayan makinede kullanılabilmesidir.

Bununla birlikte, uzak işlem yöneticilerinin bulunduğu yerin tüm yayma belirteçlerinde kapsüllendiğini ve bu belirteçlerin Dışarı/İçeri Aktarma modelindeki ilgili işlem tanımlama bilgilerinden daha büyük olduğunu da unutmayın.

Alanlar

PromoterTypeDtc

Dağıtılmış işlem işlemcisinin türü.

Yöntemler

GetDtcTransaction(Transaction)

bir öğesini temsil eden bir IDtcTransactionTransactionörneği alır.

GetExportCookie(Transaction, Byte[])

Bir işlem nesnesini dışarı aktarma işlemi tanımlama bilgisine dönüştürür.

GetTransactionFromDtcTransaction(IDtcTransaction)

Belirtilen IDtcTransactionbir içinden bir Transaction oluşturur.

GetTransactionFromExportCookie(Byte[])

Belirtilen dışarı Transaction aktarma tanımlama bilgisinden bir oluşturur.

GetTransactionFromTransmitterPropagationToken(Byte[])

Belirtilen verici yayma belirtecinden bir Transaction örnek oluşturur.

GetTransmitterPropagationToken(Transaction)

Belirtilen Transactioniçin bir yayma belirteci oluşturur.

GetWhereabouts()

kullanan dağıtılmış işlem yöneticisinin System.Transactions Nerede Olduğunu alır.

Şunlara uygulanır