次の方法で共有


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 状態のときにのみ設定可能です。これは、この状態が変更可能で、かつ破棄されていない唯一の状態であるためです。

適用対象