Partilhar via


IOutputChannel.Send Método

Definição

Envia uma mensagem no canal de saída atual.

Sobrecargas

Send(Message)

Transmite uma mensagem para o destino do canal de saída.

Send(Message, TimeSpan)

Envia uma mensagem no canal de saída atual dentro de um intervalo de tempo especificado.

Send(Message)

Origem:
IOutputChannel.cs
Origem:
IOutputChannel.cs
Origem:
IOutputChannel.cs

Transmite uma mensagem para o destino do canal de saída.

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)

Parâmetros

message
Message

A Message sendo enviada no canal de saída.

Exemplos

O código a seguir ilustra como implementar esse método:

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

Comentários

O destino das mensagens enviadas em um canal de saída é especificado no momento da criação do canal.

O Send método não garante a entrega da mensagem para o ponto de extremidade remoto. Uma implementação de IOutputChannel pode remover mensagens silenciosamente por vários motivos. Pode não haver mais espaço para buffers, por exemplo. Se forem necessárias garantias de entrega, use IOutputSessionChannel.

Passar a mensagem para o canal de saída faz com que a mensagem seja consumida. Depois de chamar Send, você não poderá mais inspecionar a mensagem ou a chamada Close na mensagem.

Aplica-se a

Send(Message, TimeSpan)

Origem:
IOutputChannel.cs
Origem:
IOutputChannel.cs
Origem:
IOutputChannel.cs

Envia uma mensagem no canal de saída atual dentro de um intervalo de tempo especificado.

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)

Parâmetros

message
Message

A Message sendo enviada no canal de saída.

timeout
TimeSpan

O TimeSpan que especifica quanto tempo a operação de envio tem para ser concluída antes de atingir o tempo limite.

Exemplos

O código a seguir ilustra como implementar esse método:

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

Comentários

O destino das mensagens enviadas em um canal de saída é especificado no momento da criação do canal.

O Send método não garante a entrega da mensagem para o ponto de extremidade remoto. Uma implementação de IOutputChannel pode remover mensagens silenciosamente por vários motivos. Pode não haver mais espaço para buffers, por exemplo. Se forem necessárias garantias de entrega, use IOutputSessionChannel.

Passar a mensagem para o canal de saída faz com que a mensagem seja consumida. Depois de chamar Send, você não poderá mais inspecionar a mensagem ou a chamada Close na mensagem.

Notas aos Implementadores

A operação deverá gerar um TimeoutException se o especificado timeout for excedido.

Aplica-se a