IOutputChannel.Send Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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
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
- 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.