IOutputChannel.BeginSend Methode

Definition

Startet einen asynchronen Vorgang, um eine Nachricht zu senden.

Überlädt

BeginSend(Message, AsyncCallback, Object)

Startet einen asynchronen Vorgang, um eine Nachricht zum Ziel des Ausgabekanals zu übertragen.

BeginSend(Message, TimeSpan, AsyncCallback, Object)

Startet einen asynchronen Vorgang, um eine Nachricht zum Ziel des Ausgabekanals innerhalb eines festgelegten Zeitintervalls zu übertragen.

BeginSend(Message, AsyncCallback, Object)

Quelle:
IOutputChannel.cs
Quelle:
IOutputChannel.cs
Quelle:
IOutputChannel.cs

Startet einen asynchronen Vorgang, um eine Nachricht zum Ziel des Ausgabekanals zu übertragen.

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

Parameter

message
Message

Die Message, die auf dem Ausgabekanal gesendet wird.

callback
AsyncCallback

Der AsyncCallback-Delegat.

state
Object

Ein durch die Anwendung festgelegtes Objekt, das dem asynchronen Sendevorgang zugeordnete Statusinformationen enthält.

Gibt zurück

Eine IAsyncResult, die auf die asynchrone Nachrichtenübertragung 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

Das Ziel der Nachrichten, die auf einem Ausgabekanal gesendet werden, wird zur Kanalerstellungszeit angegeben.

Die BeginSend-Methode garantiert die Zustellung der Nachricht zum Remoteendpunkt nicht. Wenn Zustellungsgarantien erforderlich sind, verwenden Sie den IOutputSessionChannel.

Wenn die gesendete Nachricht 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:

BeginSend(Message, TimeSpan, AsyncCallback, Object)

Quelle:
IOutputChannel.cs
Quelle:
IOutputChannel.cs
Quelle:
IOutputChannel.cs

Startet einen asynchronen Vorgang, um eine Nachricht zum Ziel des Ausgabekanals innerhalb eines festgelegten Zeitintervalls zu übertragen.

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

Parameter

message
Message

Die Message, die auf dem Ausgabekanal gesendet wird.

timeout
TimeSpan

Der TimeSpan-Wert, der angibt, welcher Zeitraum für den Sendevorgang bleibt, bevor ein Timeout eintritt.

callback
AsyncCallback

Der AsyncCallback-Delegat, der die Benachrichtigung über den Abschluss des asynchronen Sendevorgangs erhält.

state
Object

Ein durch die Anwendung festgelegtes Objekt, das dem asynchronen Sendevorgang zugeordnete Statusinformationen enthält.

Gibt zurück

Der IAsyncResult-Wert, der auf den asynchronen Sendevorgang verweist.

Beispiele

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

public RequestContext EndReceiveRequest(IAsyncResult result)
{
    return ReceiveRequestAsyncResult.End(result);
}

Hinweise

Das Ziel der Nachrichten, die auf einem Ausgabekanal gesendet werden, wird zur Kanalerstellungszeit angegeben.

Die BeginSend-Methode garantiert die Zustellung der Nachricht zum Remoteendpunkt nicht. Wenn Zustellungsgarantien erforderlich sind, verwenden Sie den IOutputSessionChannel.

Wenn die gesendete Nachricht 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.

Hinweise für Ausführende

Der Vorgang sollte eine TimeoutException auslösen, wenn der angegebene timeout überschritten wird.

Gilt für: