IOutputChannel.Send Metoda

Definice

Odešle zprávu v aktuálním výstupním kanálu.

Přetížení

Send(Message)

Odešle zprávu do cíle výstupního kanálu.

Send(Message, TimeSpan)

Odešle zprávu do aktuálního výstupního kanálu v zadaném časovém intervalu.

Send(Message)

Odešle zprávu do cíle výstupního kanálu.

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)

Parametry

message
Message

Odeslání Message ve výstupním kanálu.

Příklady

Následující kód ukazuje, jak implementovat tuto metodu:

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

Poznámky

Cíl pro zprávy odesílané ve výstupním kanálu je určen při vytváření kanálu.

Metoda Send nezaručuje doručení zprávy do vzdáleného koncového bodu. Implementace IOutputChannel může bezobslužně zahazovat zprávy z různých důvodů. Může se stát, že už nebude k dispozici žádná vyrovnávací paměť, například. Pokud jsou vyžadovány záruky doručení, použijte IOutputSessionChannel.

Předání zprávy do výstupního kanálu způsobí, že se zpráva spotřebuje. Po volání Senduž nemůžete zprávu zkontrolovat ani zavolat Close na zprávu.

Platí pro

Send(Message, TimeSpan)

Odešle zprávu do aktuálního výstupního kanálu v zadaném časovém intervalu.

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)

Parametry

message
Message

Odeslání Message ve výstupním kanálu.

timeout
TimeSpan

Určuje TimeSpan , jak dlouho se má operace odesílání dokončit před uplynutím časového limitu.

Příklady

Následující kód ukazuje, jak implementovat tuto metodu:

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

Poznámky

Cíl pro zprávy odesílané ve výstupním kanálu je určen při vytváření kanálu.

Metoda Send nezaručuje doručení zprávy do vzdáleného koncového bodu. Implementace IOutputChannel může bezobslužně zahazovat zprávy z různých důvodů. Může se stát, že už nebude k dispozici žádná vyrovnávací paměť, například. Pokud jsou vyžadovány záruky doručení, použijte IOutputSessionChannel.

Předání zprávy do výstupního kanálu způsobí, že se zpráva spotřebuje. Po volání Senduž nemůžete zprávu zkontrolovat ani zavolat Close na zprávu.

Poznámky pro implementátory

Operace by měla vyvolat TimeoutException výjimku, pokud je zadaná hodnota timeout překročena.

Platí pro