IOutputChannel.Send Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Envia uma mensagem no canal de saída atual.
Sobrecargas
| Name | Description |
|---|---|
| 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 seguinte código ilustra como implementar este método:
public IAsyncResult BeginTryReceiveRequest(TimeSpan timeout, AsyncCallback callback, object state)
{
TryReceiveRequestAsyncResult result = new TryReceiveRequestAsyncResult(this, timeout, callback, state);
result.Begin();
return result;
}
Observações
O destino para mensagens enviadas num canal de saída é especificado na altura da criação do canal.
O Send método não garante a entrega da mensagem ao endpoint remoto. Uma implementação de IOutputChannel pode deixar mensagens silenciosamente descartadas por várias razões. Por exemplo, pode não haver mais espaço para tampão. 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 ligar Send, já não pode inspecionar a mensagem nem ligar Close sobre a 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
Isso TimeSpan especifica quanto tempo a operação de envio tem de ser concluída antes de expirar.
Exemplos
O seguinte código ilustra como implementar este método:
public bool EndTryReceiveRequest(IAsyncResult result, out RequestContext requestContext)
{
return TryReceiveRequestAsyncResult.End(result, out requestContext);
}
Observações
O destino para mensagens enviadas num canal de saída é especificado na altura da criação do canal.
O Send método não garante a entrega da mensagem ao endpoint remoto. Uma implementação de IOutputChannel pode deixar mensagens silenciosamente descartadas por várias razões. Por exemplo, pode não haver mais espaço para tampão. 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 ligar Send, já não pode inspecionar a mensagem nem ligar Close sobre a mensagem.
Notas para Implementadores
A operação deve lançar a TimeoutException se o especificado timeout for excedido.