ChannelDispatcher.ReceiveSynchronously Property

 

Gets or sets a value that specifies whether the dispatcher uses synchronous calls to read messages from channels.

Namespace:   System.ServiceModel.Dispatcher
Assembly:  System.ServiceModel (in System.ServiceModel.dll)

public bool ReceiveSynchronously { get; set; }

Property Value

Type: System.Boolean

true if the dispatcher uses synchronous methods to read messages from channels; otherwise, false. The default is false.

Exception Condition
InvalidOperationException

The communication object is in an Opening or Opened state.

ObjectDisposedException

The communication object is in a Closing or Closed state.

CommunicationObjectFaultedException

The communication object is in a Faulted state.

If a binding implements IBindingRuntimePreferences, Windows Communication Foundation (WCF) assigns the value of the ReceiveSynchronously property to this property. So if this value is true, the false default value of ReceiveSynchronously is overridden.

This property can only be set when the instance of the ChannelDispatcher is in the Created state, as this is the only state that is both mutable and not disposed.

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;

.NET Framework
Available since 3.0
Return to top
Show: