IOutputChannel.Send Método

Definición

Envía un mensaje en el canal de salida actual.

Sobrecargas

Send(Message)

Transmite un mensaje al destino del canal de salida.

Send(Message, TimeSpan)

Envía un mensaje en el canal de salida actual dentro de un intervalo de tiempo especificado.

Send(Message)

Transmite un mensaje al destino del canal de salida.

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

El Message que se está enviando en el canal de salida.

Ejemplos

El código siguiente muestra cómo 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;
}

Comentarios

El destino para los mensajes enviados en un canal de salida se especifica en la hora de creación del canal.

El método Send no garantiza la entrega de mensaje al extremo remoto. Una implementación de IOutputChannel puede colocar mensajes sin notificarlo por diversos motivos. Por ejemplo, puede no haber más espacio en el búfer. Si se requieren garantías de la entrega, utilice IOutputSessionChannel.

Pasar el mensaje al canal de salida hace que el mensaje se utilice. Después de llamar a Send, ya no podrá inspeccionar el mensaje ni llamar a Close en el mensaje.

Se aplica a

Send(Message, TimeSpan)

Envía un mensaje en el canal de salida actual dentro de un intervalo de tiempo 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

El Message que se está enviando en el canal de salida.

timeout
TimeSpan

El objeto TimeSpan que especifica el tiempo con el que cuenta la operación de envío para completarse antes de que se agote el tiempo de espera.

Ejemplos

El código siguiente muestra cómo implementar este método:

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

Comentarios

El destino para los mensajes enviados en un canal de salida se especifica en la hora de creación del canal.

El método Send no garantiza la entrega de mensaje al extremo remoto. Una implementación de IOutputChannel puede colocar mensajes sin notificarlo por diversos motivos. Por ejemplo, puede no haber más espacio en el búfer. Si se requieren garantías de la entrega, utilice IOutputSessionChannel.

Pasar el mensaje al canal de salida hace que el mensaje se utilice. Después de llamar a Send, ya no podrá inspeccionar el mensaje ni llamar a Close en el mensaje.

Notas a los implementadores

La operación debería iniciar TimeoutException si se supera el timeout especificado.

Se aplica a