Freigeben über


IOutputChannel.Send Methode

Definition

Sendet eine Nachricht auf dem aktuellen Ausgabekanal.

Überlädt

Send(Message)

Überträgt eine Nachricht an das Ziel des Ausgabekanals.

Send(Message, TimeSpan)

Sendet eine Nachricht auf dem aktuellen Ausgabekanal innerhalb eines angegebenen Zeitintervalls.

Send(Message)

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

Überträgt eine Nachricht an das Ziel des Ausgabekanals.

public:
 void Send(System::ServiceModel::Channels::Message ^ message);
public void Send (System.ServiceModel.Channels.Message message);
abstract member Send : System.ServiceModel.Channels.Message -> unit
Public Sub Send (message As Message)

Parameter

message
Message

Die Message, die auf dem Ausgabekanal gesendet wird.

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

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

Die Send-Methode garantiert die Zustellung der Nachricht zum Remoteendpunkt nicht. Eine Implementierung von IOutputChannel kann aus diversen Gründen zu einer automatischen Verwerfung von Nachrichten führen. Beispielsweise könnte nicht genügend Pufferspeicher zur Verfügung stehen. Wenn Zustellungsgarantien erforderlich sind, verwenden Sie den IOutputSessionChannel.

Die Weitergabe der Nachricht an den Ausgabekanal führt dazu, dass die Nachricht verwendet wird. Nachdem Sie Send aufgerufen haben, können Sie die Nachricht nicht mehr überprüfen oder für die Nachricht Close aufrufen.

Gilt für:

Send(Message, TimeSpan)

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

Sendet eine Nachricht auf dem aktuellen Ausgabekanal innerhalb eines angegebenen Zeitintervalls.

public:
 void Send(System::ServiceModel::Channels::Message ^ message, TimeSpan timeout);
public void Send (System.ServiceModel.Channels.Message message, TimeSpan timeout);
abstract member Send : System.ServiceModel.Channels.Message * TimeSpan -> unit
Public Sub Send (message As Message, timeout As TimeSpan)

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.

Beispiele

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

public bool EndTryReceiveRequest(IAsyncResult result, out RequestContext requestContext)
{
    return TryReceiveRequestAsyncResult.End(result, out requestContext);
}

Hinweise

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

Die Send-Methode garantiert die Zustellung der Nachricht zum Remoteendpunkt nicht. Eine Implementierung von IOutputChannel kann aus diversen Gründen zu einer automatischen Verwerfung von Nachrichten führen. Beispielsweise könnte nicht genügend Pufferspeicher zur Verfügung stehen. Wenn Zustellungsgarantien erforderlich sind, verwenden Sie den IOutputSessionChannel.

Die Weitergabe der Nachricht an den Ausgabekanal führt dazu, dass die Nachricht verwendet wird. Nachdem Sie Send aufgerufen haben, können Sie die Nachricht nicht mehr überprüfen oder für die Nachricht Close aufrufen.

Hinweise für Ausführende

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

Gilt für: