다음을 통해 공유


ChannelDispatcher.IsTransactedReceive 속성

정의

수신기에 대한 Receive 메서드 호출이 트랜잭션에서 수행되는지 여부를 나타내는 값을 가져옵니다.

public:
 property bool IsTransactedReceive { bool get(); void set(bool value); };
public bool IsTransactedReceive { get; set; }
member this.IsTransactedReceive : bool with get, set
Public Property IsTransactedReceive As Boolean

속성 값

Boolean

수신기에 대한 Receive 메서드 호출이 트랜잭션에서 수행되면 true이고, 그렇지 않으면 false입니다.

예외

통신 개체가 Opening 또는 Opened 상태에 있는 경우

통신 개체가 Closing 또는 Closed 상태에 있는 경우

통신 개체가 Faulted 상태에 있는 경우

예제

Uri baseAddress = new Uri("http://localhost:8001/Simple");
ServiceHost serviceHost = new ServiceHost(typeof(CalculatorService), baseAddress);

serviceHost.AddServiceEndpoint(
    typeof(ICalculator),
    new WSHttpBinding(),
    "CalculatorServiceObject");

serviceHost.Open();

IChannelListener icl = serviceHost.ChannelDispatchers[0].Listener;
ChannelDispatcher dispatcher = new ChannelDispatcher(icl);
bool isTransactedReceive = dispatcher.IsTransactedReceive;
Dim baseAddress As New Uri("http://localhost:8001/Simple")
Dim serviceHost As New ServiceHost(GetType(CalculatorService), baseAddress)

serviceHost.AddServiceEndpoint(GetType(ICalculator), New WSHttpBinding(), "CalculatorServiceObject")

serviceHost.Open()

Dim icl As IChannelListener = serviceHost.ChannelDispatchers(0).Listener
Dim dispatcher As New ChannelDispatcher(icl)
Dim isTransactedReceive As Boolean = dispatcher.IsTransactedReceive

설명

IsTransactedReceive 속성은 ChannelDispatcher의 인스턴스가 Created 상태에 있는 경우에만 설정할 수 있는데 그 이유는 이 상태가 변경 가능하면서 삭제되지 않은 유일한 상태이기 때문입니다.

적용 대상