IRequestChannel.Request 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 una solicitud basada en mensaje y devuelve la respuesta basada en mensaje correlacionada.
Sobrecargas
Request(Message) |
Envía una solicitud basada en mensaje y devuelve la respuesta basada en mensaje correlacionada. |
Request(Message, TimeSpan) |
Envía una solicitud basada en mensaje y devuelve la respuesta basada en mensaje correlacionada dentro de un intervalo de tiempo especificado. |
Request(Message)
- Source:
- IRequestChannel.cs
- Source:
- IRequestChannel.cs
- Source:
- IRequestChannel.cs
Envía una solicitud basada en mensaje y devuelve la respuesta basada en mensaje correlacionada.
public:
System::ServiceModel::Channels::Message ^ Request(System::ServiceModel::Channels::Message ^ message);
public System.ServiceModel.Channels.Message Request (System.ServiceModel.Channels.Message message);
abstract member Request : System.ServiceModel.Channels.Message -> System.ServiceModel.Channels.Message
Public Function Request (message As Message) As Message
Parámetros
Devoluciones
Message recibido en respuesta a la solicitud.
Ejemplos
En el código siguiente se muestra cómo implementar este método:
public Message Request(Message message)
{
return this.InnerChannel.Request(message);
}
Comentarios
Las implementaciones de IRequestChannel garantizan que el mensaje de respuesta está correlacionado con el mensaje de solicitud.
Generalmente, si una implementación de IRequestChannel recibe un mensaje que no está correlacionado con una solicitud pendiente, se elimina.
Se puede llamar al método Request concurrentemente mediante varios subprocesos.
Pasar el mensaje al canal de solicitud hace que se tenga acceso al mensaje. Después de llamar a Request, ya no podrá inspeccionar el mensaje ni llamar a Close en el mensaje.
Si el mensaje de solicitud es mayor que el tamaño de mensaje máximo permitido por el enlace utilizado, se inicia QuotaExceededException. La propiedad MaxReceivedMessageSize establece el tamaño del mensaje máximo. El valor predeterminado es 65 536 bytes.
Se aplica a
Request(Message, TimeSpan)
- Source:
- IRequestChannel.cs
- Source:
- IRequestChannel.cs
- Source:
- IRequestChannel.cs
Envía una solicitud basada en mensaje y devuelve la respuesta basada en mensaje correlacionada dentro de un intervalo de tiempo especificado.
public:
System::ServiceModel::Channels::Message ^ Request(System::ServiceModel::Channels::Message ^ message, TimeSpan timeout);
public System.ServiceModel.Channels.Message Request (System.ServiceModel.Channels.Message message, TimeSpan timeout);
abstract member Request : System.ServiceModel.Channels.Message * TimeSpan -> System.ServiceModel.Channels.Message
Public Function Request (message As Message, timeout As TimeSpan) As Message
Parámetros
- timeout
- TimeSpan
TimeSpan que especifica el intervalo de tiempo dentro del cual se debe recibir una respuesta.
Devoluciones
Message recibido en respuesta a la solicitud.
Ejemplos
En el código siguiente se muestra cómo implementar este método.
public Message Request(Message message, TimeSpan timeout)
{
return this.InnerChannel.Request(message, timeout);
}
Comentarios
Las implementaciones de IRequestChannel garantizan que el mensaje de respuesta está correlacionado con el mensaje de solicitud.
Generalmente, si una implementación de IRequestChannel recibe un mensaje que no está correlacionado con una solicitud pendiente, se elimina.
Se puede llamar al método Request concurrentemente mediante varios subprocesos.
Pasar el mensaje al canal de solicitud hace que se tenga acceso al mensaje. Después de llamar a Request, ya no podrá inspeccionar el mensaje ni llamar a Close en el mensaje.
Si el mensaje de solicitud es mayor que el tamaño de mensaje máximo permitido por el enlace utilizado, se inicia QuotaExceededException. La propiedad MaxReceivedMessageSize establece el tamaño del mensaje máximo. El valor predeterminado es 65 536 bytes.
Si se pasa timeout
mientras se llama a la función, se utiliza ese valor. Si SendTimeout se establece en el enlace, se utiliza el valor en el enlace si no se especifica timeout
mientras se llama a la función.
DefaultSendTimeout se utiliza si no se especifica el tiempo de espera en el enlace o mientras se llama a la función. Este valor predeterminado es 1 minuto.
Notas a los implementadores
La operación debería iniciar TimeoutException si se supera el timeout
especificado antes de que se complete la operación.