IReplyChannel.BeginReceiveRequest Methode

Definition

Startet einen asynchronen Vorgang, um eine verfügbare Anforderung zu empfangen.

Überlädt

BeginReceiveRequest(AsyncCallback, Object)

Startet einen asynchronen Vorgang, mit einem Standard-Timeout eine verfügbare Anforderung zu empfangen.

BeginReceiveRequest(TimeSpan, AsyncCallback, Object)

Startet einen asynchronen Vorgang, um eine verfügbare Anforderung mit einem angegebenen Timeout zu empfangen.

BeginReceiveRequest(AsyncCallback, Object)

Startet einen asynchronen Vorgang, mit einem Standard-Timeout eine verfügbare Anforderung zu empfangen.

public:
 IAsyncResult ^ BeginReceiveRequest(AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginReceiveRequest (AsyncCallback callback, object state);
abstract member BeginReceiveRequest : AsyncCallback * obj -> IAsyncResult
Public Function BeginReceiveRequest (callback As AsyncCallback, state As Object) As IAsyncResult

Parameter

callback
AsyncCallback

Der AsyncCallback-Delegat, der die Benachrichtigung vom asynchronen Empfang erhält, der einen Anforderungsvorgang abschließt.

state
Object

Ein von der Anwendung spezifiziertes Objekt, das Zustandsinformationen enthält, die dem asynchronen Vorgang des Empfanges einer Anforderung zugeordnet sind.

Gibt zurück

IAsyncResult

Das IAsyncResult, das auf den asynchronen Empfang einer Anforderung verweist.

Beispiele

Im folgenden Code wird veranschaulicht, wie diese Methode implementiert wird:

public IAsyncResult BeginReceiveRequest(AsyncCallback callback, object state)
{
    return BeginReceiveRequest(DefaultReceiveTimeout, callback, state);
}

Hinweise

Die BeginReceiveRequest(AsyncCallback, Object) Methode implementiert das Standardmuster zum asynchronen Aufrufen ReceiveRequest() . Das Standard-Timeout beträgt 1 Minute. Wenn ein Empfangs-Timeout auf die Bindung, die für die Konfiguration der Verbindung verwendet wird, eingerichtet ist, wird dieser Wert genutzt. Verwenden Sie BeginReceiveRequest(TimeSpan, AsyncCallback, Object), wenn Sie einen expliziten Timeout mit dem Aufruf, der diese anderen Werte überschreibt, festlegen wollen.

Wenn die erhaltene Anforderungsnachricht größer ist als die von der verwendeten Bindung maximal zulässige Größe für Nachrichten, wird eine QuotaExceededException ausgegeben. Die maximale Nachrichtengröße wird von der MaxReceivedMessageSize-Eigenschaft festgelegt. Der Standardwert ist 65536 Byte.

Gilt für

BeginReceiveRequest(TimeSpan, AsyncCallback, Object)

Startet einen asynchronen Vorgang, um eine verfügbare Anforderung mit einem angegebenen Timeout zu empfangen.

public:
 IAsyncResult ^ BeginReceiveRequest(TimeSpan timeout, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginReceiveRequest (TimeSpan timeout, AsyncCallback callback, object state);
abstract member BeginReceiveRequest : TimeSpan * AsyncCallback * obj -> IAsyncResult
Public Function BeginReceiveRequest (timeout As TimeSpan, callback As AsyncCallback, state As Object) As IAsyncResult

Parameter

timeout
TimeSpan

Die TimeSpan, die das Zeitintervall für das Warten auf den Empfang einer verfügbaren Anforderung angibt.

callback
AsyncCallback

Der AsyncCallback-Delegat, der die Benachrichtigung vom asynchronen Empfang erhält, der einen Anforderungsvorgang abschließt.

state
Object

Ein von der Anwendung spezifiziertes Objekt, das Zustandsinformationen enthält, die dem asynchronen Vorgang des Empfanges einer Anforderung zugeordnet sind.

Gibt zurück

IAsyncResult

Das IAsyncResult, das auf den asynchronen Empfang einer Anforderung verweist.

Beispiele

Im folgenden Code wird veranschaulicht, wie diese Methode implementiert wird:

public IAsyncResult BeginReceiveRequest(TimeSpan timeout, AsyncCallback callback, object state)
{
    ReceiveRequestAsyncResult result = new ReceiveRequestAsyncResult(this, timeout, callback, state);
    result.Begin();
    return result;
}

Hinweise

Die BeginReceiveRequest(TimeSpan, AsyncCallback, Object) Methode implementiert das Standardmuster zum asynchronen Aufrufen ReceiveRequest(TimeSpan) . Der bei dieser Methode eingerichtete Timeout überschreibt einen Empfangs-Timeout, der für die Bindung eingerichtet ist, die verwendet wird, um die Verbindung zu konfigurieren.

Wenn die erhaltene Anforderungsnachricht größer ist als die von der verwendeten Bindung maximal zulässige Größe für Nachrichten, wird eine QuotaExceededException ausgegeben. Die maximale Nachrichtengröße wird von der MaxReceivedMessageSize-Eigenschaft festgelegt. Der Standardwert ist 65536 Byte.

Gilt für