IRequestChannel.BeginRequest Methode

Definition

Startet einen asynchronen Vorgang, um eine Anforderungsnachricht zur Antwortseite eines Anforderung-Antwort-Nachrichtenaustauschs zu übertragen.

Überlädt

BeginRequest(Message, AsyncCallback, Object)

Startet einen asynchronen Vorgang, um eine Anforderungsnachricht zur Antwortseite eines Anforderung-Antwort-Nachrichtenaustauschs zu übertragen.

BeginRequest(Message, TimeSpan, AsyncCallback, Object)

Startet einen asynchronen Vorgang, eine Anforderungsnachricht zur Antwortseite eines Anforderung-Antwort-Nachrichtenaustauschs innerhalb eines festgelegten Zeitintervalls zu senden.

BeginRequest(Message, AsyncCallback, Object)

Startet einen asynchronen Vorgang, um eine Anforderungsnachricht zur Antwortseite eines Anforderung-Antwort-Nachrichtenaustauschs zu übertragen.

public:
 IAsyncResult ^ BeginRequest(System::ServiceModel::Channels::Message ^ message, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginRequest (System.ServiceModel.Channels.Message message, AsyncCallback callback, object state);
abstract member BeginRequest : System.ServiceModel.Channels.Message * AsyncCallback * obj -> IAsyncResult
Public Function BeginRequest (message As Message, callback As AsyncCallback, state As Object) As IAsyncResult

Parameter

message
Message

Die zu übertragende Anforderungsnachricht (Message).

callback
AsyncCallback

Der AsyncCallback-Delegat, der die Benachrichtigung über den Abschluss des asynchronen Vorgangs zur Übertragung einer Anforderungsnachricht empfängt.

state
Object

Ein von der Anwendung spezifiziertes Objekt, das Zustandsinformationen enthält, die dem asynchronen Vorgang zur Übertragung einer Anforderungsnachricht zugeordnet sind.

Gibt zurück

IAsyncResult

Eine IAsyncResult, die auf die asynchrone Nachrichtenübertragung verweist.

Beispiele

Im folgenden Codebeispiel wird die Implementierung dieser Methode veranschaulicht.

public IAsyncResult BeginRequest(Message message,
    AsyncCallback callback, object state)
{
    return this.InnerChannel.BeginRequest(message,
        callback, state);
}

Hinweise

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

Gilt für

BeginRequest(Message, TimeSpan, AsyncCallback, Object)

Startet einen asynchronen Vorgang, eine Anforderungsnachricht zur Antwortseite eines Anforderung-Antwort-Nachrichtenaustauschs innerhalb eines festgelegten Zeitintervalls zu senden.

public:
 IAsyncResult ^ BeginRequest(System::ServiceModel::Channels::Message ^ message, TimeSpan timeout, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginRequest (System.ServiceModel.Channels.Message message, TimeSpan timeout, AsyncCallback callback, object state);
abstract member BeginRequest : System.ServiceModel.Channels.Message * TimeSpan * AsyncCallback * obj -> IAsyncResult
Public Function BeginRequest (message As Message, timeout As TimeSpan, callback As AsyncCallback, state As Object) As IAsyncResult

Parameter

message
Message

Die zu übertragende Anforderungsnachricht (Message).

timeout
TimeSpan

Die TimeSpan, die das Zeitintervall angibt, innerhalb dessen eine Antwort empfangen werden muss.

callback
AsyncCallback

Der AsyncCallback-Delegat, der die Benachrichtigung über den Abschluss des asynchronen Vorgangs zur Übertragung einer Anforderungsnachricht empfängt.

state
Object

Ein von der Anwendung spezifiziertes Objekt, das Zustandsinformationen enthält, die dem asynchronen Vorgang zur Übertragung einer Anforderungsnachricht zugeordnet sind.

Gibt zurück

IAsyncResult

Eine IAsyncResult, die auf die asynchrone Nachrichtenübertragung verweist.

Beispiele

Im folgenden Codebeispiel wird die Implementierung dieser Methode veranschaulicht:

public IAsyncResult BeginRequest(Message message,
    TimeSpan timeout, AsyncCallback callback,
    object state)
{
    return this.InnerChannel.BeginRequest(message,
        timeout, callback, state);
}

Hinweise

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

Wenn bei Aufruf der Funktion ein timeout überschritten wird, wird dieser Wert verwendet. Wenn SendTimeout für die Bindung gesetzt ist, wird der für die Bindung gesetzte Wert verwendet, wenn kein timeout während des Aufrufs der Funktion festgelegt wird.

Der DefaultSendTimeout wird verwendet, wenn weder für die Bindung noch während des Aufrufs der Funktion ein Timeout gesetzt wird. Der Standardwert ist 1 Minute.

Hinweise für Ausführende

Der Vorgang sollte einen TimeoutException auslösen, wenn der angegebene timeout überschritten wird, bevor der Vorgang abgeschlossen ist.

Gilt für