Condividi tramite


ChannelDispatcher.ReceiveSynchronously Proprietà

Definizione

Ottiene o imposta un valore che specifica se il dispatcher utilizza chiamate sincrone per leggere i messaggi dai canali.

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

Valore della proprietà

true se il dispatcher utilizza metodi sincroni per leggere i messaggi dai canali. In caso contrario, false. Il valore predefinito è false.

Eccezioni

L'oggetto di comunicazione si trova in uno stato Opening o Opened.

L'oggetto di comunicazione si trova in uno stato Closing o Closed.

L'oggetto di comunicazione si trova in uno stato Faulted.

Esempio

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

Commenti

Se un'associazione implementa IBindingRuntimePreferences, Windows Communication Foundation (WCF) assegna il valore della ReceiveSynchronously proprietà a questa proprietà. Pertanto, se questo valore è true, viene eseguito l'override del valore false predefinito di ReceiveSynchronously.

Questa proprietà può essere impostata solo quando l'istanza della classe ChannelDispatcher è nello stato Created, in quanto questo è l'unico stato che oltre a essere modificabile non è stato eliminato.

Si applica a