IOutputChannel.BeginSend Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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
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
- 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
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
- 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.