IOutputChannel.Send Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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)
- Source:
- IOutputChannel.cs
- Source:
- IOutputChannel.cs
- Source:
- IOutputChannel.cs
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
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)
- Source:
- IOutputChannel.cs
- Source:
- IOutputChannel.cs
- Source:
- IOutputChannel.cs
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
- 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.