OperationContext上的Current,InstanceContext RequestContext有什么区别?

时间:2014-06-26 15:44:03

标签: c# wcf

我正在查看System.ServiceModel.OperationContext

http://msdn.microsoft.com/en-us/library/system.servicemodel.operationcontext(v=vs.110).aspx

我正在努力理解:

之间的区别
OperationContext.Current
OperationContext.InstanceContext 
OperationContext.RequestContext

在我的测试中,它们似乎是一样的。我错过了什么?

1 个答案:

答案 0 :(得分:4)

明显的答案是,它们并不完全相同。在较高级别,它们是三种不同的类型,而不是从公共接口继承。更具体地说,它们具有彼此不同的特性。但从你问你的问题的方式来看,你似乎也对每个用途都感兴趣。

在查看msdn文档时,我已经从我自己的一些想法中汲取了一些观点,以及为什么它具有每个上下文。

Current(OperationContext):“操作上下文用于访问双工服务中的回调通道,跨操作的各个部分存储额外的状态数据,访问传入的消息头和属性,以及添加传出的消息头和属性。“

RequestContext:“RequestContext对象是进入的请求和发出的回复之间的链接”这个对象真正专注于让您访问和控制服务中的请求和回复。

InstanceContext:这里没有msdn评论,但是看一下,它可以让你更深入地控制通信基础设施的状态。即通信渠道,主机和扩展。

以下是我为每个

查看的特定MSDN文章

OperationContext:http://msdn.microsoft.com/en-us/library/system.servicemodel.operationcontext(v=vs.110).aspx

RequestContext:http://msdn.microsoft.com/en-us/library/system.servicemodel.channels.requestcontext(v=vs.110).aspx

InstanceContext:http://msdn.microsoft.com/en-us/library/system.servicemodel.instancecontext(v=vs.110).aspx