IRequestChannel.Request 方法

定义

发送一个基于消息的请求,并返回相关的基于消息的响应。

重载

Request(Message)

发送一个基于消息的请求,并返回相关的基于消息的响应。

Request(Message, TimeSpan)

发送一个基于消息的请求,并在指定的时间间隔内返回相关的基于消息的响应。

Request(Message)

发送一个基于消息的请求,并返回相关的基于消息的响应。

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

参数

message
Message

要传送的请求 Message

返回

Message

在对请求的响应中收到的 Message

示例

下面的代码演示如何实现此方法:

public Message Request(Message message)
{
    return this.InnerChannel.Request(message);
}

注解

IRequestChannel 的实现确保响应消息与请求消息相关联。

通常,如果 IRequestChannel 的实现收到与未处理的请求无关联的消息,则丢弃该消息。

多个线程可并发调用 Request 方法。

将消息传入请求通道将使该消息被访问。 在调用 Request 后,就再也不能检查消息或对消息调用 Close

如果请求消息大于使用的绑定所允许的最大消息大小,则将引发 QuotaExceededException。 最大消息大小由 MaxReceivedMessageSize 属性设置。 默认值为 65536 个字节。

适用于

Request(Message, TimeSpan)

发送一个基于消息的请求,并在指定的时间间隔内返回相关的基于消息的响应。

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

参数

message
Message

要传送的请求 Message

timeout
TimeSpan

指定时间间隔的 TimeSpan,在此时间间隔内必须收到响应。

返回

Message

在对请求的响应中收到的 Message

示例

下面的代码演示如何实现此方法。

public Message Request(Message message, TimeSpan timeout)
{
    return this.InnerChannel.Request(message, timeout);
}

注解

IRequestChannel 的实现确保响应消息与请求消息相关联。

通常,如果 IRequestChannel 的实现收到与未处理的请求无关联的消息,则丢弃该消息。

多个线程可并发调用 Request 方法。

将消息传入请求通道将使该消息被访问。 在调用 Request 后,就再也不能检查消息或对消息调用 Close

如果请求消息大于使用的绑定所允许的最大消息大小,则将引发 QuotaExceededException。 最大消息大小由 MaxReceivedMessageSize 属性设置。 默认值为 65536 个字节。

如果在调用该函数时传入了 timeout,则使用该值。 如果在绑定上设置了 SendTimeout,那么,若是在调用该函数时未指定 timeout,则使用绑定上的该值。

如果在绑定上以及在调用该函数时未指定超时值,则使用 DefaultSendTimeout。 此默认值为 1 分钟。

实施者说明

如果在操作完成前超出指定的 TimeoutException,则此操作应引发 timeout

适用于