다음을 통해 공유


TransactionInterop 클래스

정의

System.Transactions와 구성 요소(MSDTC, COM+ 또는 System.EnterpriseServices와 상호 작용하도록 이전에 작성된 구성 요소) 간의 상호 작용을 원활하게 합니다. 이 클래스는 상속될 수 없습니다.

public ref class TransactionInterop abstract sealed
public static class TransactionInterop
type TransactionInterop = class
Public Class TransactionInterop
상속
TransactionInterop

설명

이 클래스는 트랜잭션 전파를 위한 메서드를 제공합니다. 이 프로세스의 작동 방식에 대한 자세한 내용은 트랜잭션 전파를 참조하세요.

이 클래스에서 제공하는 메서드를 사용하여 내보내기/가져오기(푸시 모델) 및 송신기/수신기(끌어오기 모델)의 두 가지 유형의 트랜잭션 전파에 참여할 수 있습니다.

내보내기/가져오기(푸시 모델) 전파에는 다음 단계가 포함됩니다.

  1. 원격 컴퓨터에서 메서드를 호출 GetWhereabouts 하여 해당 컴퓨터의 트랜잭션 관리자의 "위치"를 가져옵니다. 그런 다음 나중에 사용할 수 있는 클라이언트 컴퓨터에서 이 정보를 캐시할 수 있습니다.

  2. 기본 설정 방법을 사용하여 위치가 포함된 데이터를 클라이언트 컴퓨터에 보냅니다.

  3. 클라이언트 컴퓨터에서 whereabouts를 사용하여 트랜잭션을 원격 머신으로 "내보내기"하고 트랜잭션 "쿠키"를 생성합니다. 이 작업은 원격 머신의 위치를 호출 GetExportCookie 하고 전달하여 수행됩니다.

  4. 원하는 방법을 사용하여 트랜잭션 "쿠키"가 포함된 데이터를 원격 머신으로 보냅니다.

  5. 원격 컴퓨터에서 트랜잭션 "쿠키"를 사용하여 메서드를 호출하여 클라이언트 트랜잭션의 복제본을 GetTransactionFromExportCookie 가져옵니다.

  6. 원격 컴퓨터에서 복제 트랜잭션을 사용하여 클래스의 또는 EnlistDurable 메서드를 사용하여 리소스 관리자를 EnlistVolatile 등록합니다Transaction.

송신기/수신기(끌어오기 모델) 전파에는 다음 단계가 포함됩니다.

  • 클라이언트 컴퓨터에서 트랜잭션을 사용하면 를 호출 GetTransmitterPropagationToken하여 해당 "전파 토큰"을 생성합니다.

  • 원하는 방법을 사용하여 트랜잭션의 "전파 토큰"이 포함된 데이터를 원격 머신으로 보냅니다.

  • 원격 머신에서 "전파 토큰"을 사용하여 xref:System.Transactions.TransactionInterop.GetTransactionFromTransmitterPropagationToken%2A를 호출 <하여 클라이언트 트랜잭션의 복제본을 가져옵니다.

송신기/수신기 모델은 트랜잭션 토큰이 원격 머신으로 전송되는 시나리오에서 더 나은 성능을 제공하지만 원격 컴퓨터는 트랜잭션을 가져오는 데 사용하지 않을 수 있습니다. 가 호출될 때까지 GetTransactionFromTransmitterPropagationToken 트랜잭션이 전파되지 않기 때문입니다. 또 다른 장점은 전파 토큰을 원격 머신으로 보낼 수 있지만 내보내기 쿠키는 위치 제공된 컴퓨터에서만 사용할 수 있다는 것입니다.

그러나 원격 트랜잭션 관리자의 위치는 모든 전파 토큰에 캡슐화되어 내보내기/가져오기 모델의 해당 트랜잭션 쿠키보다 커집니다.

필드

PromoterTypeDtc

분산된 트랜잭션 프로세서의 유형입니다.

메서드

GetDtcTransaction(Transaction)

Transaction을 나타내는 IDtcTransaction 인스턴스를 가져옵니다.

GetExportCookie(Transaction, Byte[])

트랜잭션 개체를 내보내기 트랜잭션 쿠키로 변형합니다.

GetTransactionFromDtcTransaction(IDtcTransaction)

지정된 IDtcTransaction에서 Transaction을 생성합니다.

GetTransactionFromExportCookie(Byte[])

지정된 내보내기 쿠키에서 Transaction을 생성합니다.

GetTransactionFromTransmitterPropagationToken(Byte[])

지정된 전송기 전파 토큰에서 Transaction 인스턴스를 생성합니다.

GetTransmitterPropagationToken(Transaction)

지정된 Transaction에 대한 전파 토큰을 생성합니다.

GetWhereabouts()

System.Transactions에서 사용되는 분산 트랜잭션 관리자의 Whereabouts를 가져옵니다.

적용 대상