Partilhar via


IOutputChannel.BeginSend Método

Definição

Inicia uma operação assíncrona para enviar uma mensagem.

Sobrecargas

BeginSend(Message, AsyncCallback, Object)

Inicia uma operação assíncrona para transmitir uma mensagem para o destino do canal de saída.

BeginSend(Message, TimeSpan, AsyncCallback, Object)

Inicia uma operação assíncrona para transmitir uma mensagem para o destino do canal de saída dentro de um intervalo de tempo especificado.

BeginSend(Message, AsyncCallback, Object)

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

Inicia uma operação assíncrona para transmitir uma mensagem para o destino do canal de saída.

public:
 IAsyncResult ^ BeginSend(System::ServiceModel::Channels::Message ^ message, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginSend (System.ServiceModel.Channels.Message message, AsyncCallback callback, object state);
abstract member BeginSend : System.ServiceModel.Channels.Message * AsyncCallback * obj -> IAsyncResult
Public Function BeginSend (message As Message, callback As AsyncCallback, state As Object) As IAsyncResult

Parâmetros

message
Message

A Message sendo enviada no canal de saída.

callback
AsyncCallback

O delegado AsyncCallback.

state
Object

Um objeto, especificado pelo aplicativo, que contém informações de estado associadas à operação de envio assíncrona.

Retornos

O IAsyncResult que faz referência à transmissão de mensagens assíncronas.

Exemplos

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

public IAsyncResult BeginReceiveRequest(TimeSpan timeout, AsyncCallback callback, object state)
{
    ReceiveRequestAsyncResult result = new ReceiveRequestAsyncResult(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 BeginSend método não garante a entrega da mensagem para o ponto de extremidade remoto. Se forem necessárias garantias de entrega, use o IOutputSessionChannel.

Se a mensagem enviada for maior que o tamanho máximo da mensagem permitida pela associação que está sendo usada, uma QuotaExceededException será gerada. O tamanho máximo da mensagem é definido pela MaxReceivedMessageSize propriedade . O valor padrão é 65536 bytes.

Aplica-se a

BeginSend(Message, TimeSpan, AsyncCallback, Object)

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

Inicia uma operação assíncrona para transmitir uma mensagem para o destino do canal de saída dentro de um intervalo de tempo especificado.

public:
 IAsyncResult ^ BeginSend(System::ServiceModel::Channels::Message ^ message, TimeSpan timeout, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginSend (System.ServiceModel.Channels.Message message, TimeSpan timeout, AsyncCallback callback, object state);
abstract member BeginSend : System.ServiceModel.Channels.Message * TimeSpan * AsyncCallback * obj -> IAsyncResult
Public Function BeginSend (message As Message, timeout As TimeSpan, callback As AsyncCallback, state As Object) As IAsyncResult

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.

callback
AsyncCallback

O delegado de AsyncCallback que recebe a notificação da conclusão da operação de envio assíncrona.

state
Object

Um objeto, especificado pelo aplicativo, que contém informações de estado associadas à operação de envio assíncrona.

Retornos

O IAsyncResult que faz referência à operação de envio assíncrona.

Exemplos

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

public RequestContext EndReceiveRequest(IAsyncResult result)
{
    return ReceiveRequestAsyncResult.End(result);
}

Comentários

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

O BeginSend método não garante a entrega da mensagem para o ponto de extremidade remoto. Se forem necessárias garantias de entrega, use IOutputSessionChannel.

Se a mensagem enviada for maior que o tamanho máximo da mensagem permitida pela associação que está sendo usada, uma QuotaExceededException será gerada. O tamanho máximo da mensagem é definido pela MaxReceivedMessageSize propriedade . O valor padrão é 65536 bytes.

Notas aos Implementadores

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

Aplica-se a