IReplyChannel.BeginTryReceiveRequest(TimeSpan, AsyncCallback, Object) Methode

Definition

Startet einen asynchronen Vorgang, um eine Anforderungsnachricht zu empfangen, die über einen angegebenen Timeout und ein zugeordnetes Statusobjekt verfügt.

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

Parameter

timeout
TimeSpan

Der TimeSpan, der angibt, wie lange der Vorgang des Empfangs einer Anforderung vor Timeout und Ausgabe von false abgeschlossen sein muss.

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 Vorgang des Empfangs der Anforderung verweist.

Beispiele

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

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

Hinweise

Verwenden Sie die asynchrone BeginTryReceiveRequest(TimeSpan, AsyncCallback, Object)-Methode, wenn die Anwendungsverarbeitung ohne Wartezeiten fortgesetzt werden soll. Verwenden Sie eine der synchronen TryReceiveRequest(TimeSpan, RequestContext)-Methoden, wenn eine Blockade des aktuellen Threads bis zur Antwort auf die Anforderungsnachricht akzeptabel ist oder bis das Timeoutintervall abgelaufen ist.

Dieser Methode wird in einem Rückruf die Identität des Ereignishandlers für den Vorgang mitgeteilt. Der Vorgang ist nicht abgeschlossen, bevor entweder eine Nachricht im Kanal verfügbar wird oder der Timeout auftritt.

Hinweise für Ausführende

Der Vorgang gibt false zurück, wenn der angegebene timeout überschritten wird.

Gilt für