Udostępnij za pośrednictwem


ChannelDispatcher.ReceiveSynchronously Właściwość

Definicja

Pobiera lub ustawia wartość określającą, czy dyspozytor używa synchronicznych wywołań do odczytywania komunikatów z kanałów.

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

Wartość właściwości

true jeśli dyspozytor używa metod synchronicznych do odczytywania komunikatów z kanałów; w przeciwnym razie , false. Wartość domyślna to false.

Wyjątki

Obiekt komunikacji jest w Opening stanie lub Opened .

Obiekt komunikacji jest w Closing stanie lub Closed .

Obiekt komunikacji jest w Faulted stanie.

Przykłady

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

Uwagi

Jeśli powiązanie implementuje IBindingRuntimePreferenceselement , program Windows Communication Foundation (WCF) przypisuje wartość ReceiveSynchronously właściwości do tej właściwości. Jeśli więc ta wartość to true, wartość domyślna falseReceiveSynchronously jest zastępowana.

Tę właściwość można ustawić tylko wtedy, gdy wystąpienie obiektu ChannelDispatcher jest w Created stanie, ponieważ jest to jedyny stan, który jest zarówno modyfikowalny, jak i nie usuwany.

Dotyczy