RequestContext 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
提供一个与传入请求关联的答复。
public ref class RequestContext abstract : IDisposable
public abstract class RequestContext : IDisposable
type RequestContext = class
interface IDisposable
Public MustInherit Class RequestContext
Implements IDisposable
- 继承
-
RequestContext
- 实现
注解
从 IReplyChannel 可获取请求上下文。 每个 RequestContext 都会包装答复请求所需的信息,因此等待每个请求消息接收答复时不需要阻止通道。
在请求/回复模型中, RequestContext 对象是传入的请求和发出的答复之间的链接。当服务器收到请求时,它会提供一个 RequestContext 实例,该实例表示对通道的请求。 请求上下文包含其他有用属性中的原始请求消息。 此请求上下文随后会储藏到 OperationContext 中,以便于你的服务对其进行检索。 通常可使用 Current 属性来访问当前操作的请求。
RequestContext 的值可以是 null
。 请求上下文的角色是将请求与答复相链接,因此在没有答复时,请求上下文的存在就毫无意义,在这种情况下,此上下文设置为 null
。 对于请求/答复模式顶部的单向操作,服务器接收请求,但并不向客户端发回响应。 因此,如果意外出现 RequestContext 为 null
,首先要检查操作协定是否是 IsOneWay。
针对从此类派生的托管 C++ 用户的特别说明:
将清理代码放入 (On)(Begin)Close(和/或 OnAbort)中,而不是放入析构函数中。
避免使用析构函数:它们会导致编译器自动生成 IDisposable。
避免使用非引用成员:它们可能会导致编译器自动生成 IDisposable。
避免使用终结器;但如果包含一个终结器,则应该禁止显示生成警告并从 (On)(Begin)Close(和/或 OnAbort)调用 SuppressFinalize(Object) 和终结器本身,以便模拟自动生成的 IDisposable 行为。
构造函数
RequestContext() |
初始化 RequestContext 类的新实例。 |
属性
RequestMessage |
在派生类中重写时,获取包含请求的消息。 |
方法
Abort() |
在派生类中重写时,中止处理与上下文关联的请求。 |
BeginReply(Message, AsyncCallback, Object) |
在派生类中重写时,开始进行异步操作,以答复与当前上下文关联的请求。 |
BeginReply(Message, TimeSpan, AsyncCallback, Object) |
在派生类中重写时,开始进行异步操作,以在指定时间间隔内答复与当前上下文关联的请求。 |
Close() |
在派生类中重写时,关闭正答复与当前上下文关联的请求上下文的操作。 |
Close(TimeSpan) |
在派生类中重写时,关闭在指定时间间隔内正答复与当前上下文关联的请求上下文的操作。 |
Dispose(Boolean) |
释放与上下文关联的资源。 |
EndReply(IAsyncResult) |
在派生类中重写时,完成一个答复请求消息的异步操作。 |
Equals(Object) |
确定指定对象是否等于当前对象。 (继承自 Object) |
GetHashCode() |
作为默认哈希函数。 (继承自 Object) |
GetType() |
获取当前实例的 Type。 (继承自 Object) |
MemberwiseClone() |
创建当前 Object 的浅表副本。 (继承自 Object) |
Reply(Message) |
在派生类中重写时,答复请求消息。 |
Reply(Message, TimeSpan) |
在派生类中重写时,在指定时间间隔内答复请求消息。 |
ToString() |
返回表示当前对象的字符串。 (继承自 Object) |
显式接口实现
IDisposable.Dispose() |
释放与上下文关联的托管资源和非托管资源。 |