다음을 통해 공유


ChannelDispatcher.ReceiveSynchronously 속성

정의

디스패처가 동기 호출을 사용하여 채널에서 메시지를 읽는지 여부를 지정하는 값을 가져오거나 설정합니다.

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

속성 값

Boolean

디스패처에서 동기화 메서드를 사용하여 채널에서 메시지를 읽으면 true이고, 그렇지 않으면 false입니다. 기본값은 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 receiveSynchronously = dispatcher.ReceiveSynchronously;
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 receiveSynchronously As Boolean = dispatcher.ReceiveSynchronously

설명

바인딩을 구현 하는 경우 IBindingRuntimePreferences, Windows Communication Foundation (WCF)의 값을 할당 합니다 ReceiveSynchronously 이 속성에 대 한 속성입니다. 따라서 이 값이 true이면 false의 기본값(ReceiveSynchronously )이 재정의됩니다.

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

적용 대상