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
| Nombre | Description |
|---|---|
| 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
En el código siguiente se 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 de los mensajes enviados en un canal de salida se especifica en el momento de la creación del canal.
El Send método no garantiza la entrega del mensaje al punto de conexión remoto. Una implementación de IOutputChannel puede quitar mensajes de forma silenciosa por diversos motivos. Puede que no haya más espacio de búfer, por ejemplo. Si se requieren garantías de entrega, use IOutputSessionChannel.
Pasar el mensaje al canal de salida hace que se consuma el mensaje. Después de llamar a Send, ya no puede inspeccionar el mensaje ni llamar Close al 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
TimeSpan que especifica cuánto tiempo debe completarse la operación de envío antes de que se agote el tiempo de espera.
Ejemplos
En el código siguiente se muestra cómo implementar este método:
public bool EndTryReceiveRequest(IAsyncResult result, out RequestContext requestContext)
{
return TryReceiveRequestAsyncResult.End(result, out requestContext);
}
Comentarios
El destino de los mensajes enviados en un canal de salida se especifica en el momento de la creación del canal.
El Send método no garantiza la entrega del mensaje al punto de conexión remoto. Una implementación de IOutputChannel puede quitar mensajes de forma silenciosa por diversos motivos. Puede que no haya más espacio de búfer, por ejemplo. Si se requieren garantías de entrega, use IOutputSessionChannel.
Pasar el mensaje al canal de salida hace que se consuma el mensaje. Después de llamar a Send, ya no puede inspeccionar el mensaje ni llamar Close al mensaje.
Notas a los implementadores
La operación debe iniciar un TimeoutException si se supera el especificado timeout .