c# - OperationContext 上的 Current、InstanceContext RequestContext 有什么区别?

标签 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

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

最佳答案

显而易见的答案是它们并不完全相同。在高层次上,它们是三种不同的类型,而不是从公共(public)接口(interface)继承。更具体地说,它们具有彼此不同的属性。但是从你问问题的方式来看,你似乎也对每个问题的用途感兴趣。

在查看 msdn 文档时,我根据自己的一些想法从评论中提取了一些要点,关于为什么它具有每个上下文。

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

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

InstanceContext :这里没有msdn的备注,但是看看它,它可以让你更深入地控制通信基础设施的状态。即通信 channel 、主机和扩展程序。

以下是我针对每个文章查看的特定 MSDN 文章

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

请求上下文:http://msdn.microsoft.com/en-us/library/system.servicemodel.channels.requestcontext(v=vs.110).aspx

实例上下文:http://msdn.microsoft.com/en-us/library/system.servicemodel.instancecontext(v=vs.110).aspx

关于c# - OperationContext 上的 Current、InstanceContext RequestContext 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24434878/

相关文章:

c# - WCF 枚举按值代理支持动态枚举

c# - 用户点击时提醒不会导航

c# - 调用带返回值的存储过程

c# - Application.Run() 和 Form.ShowDialog() 有什么区别?

c# - 在 Windows 7 中获取当前系统音量

c# - 如何从字典中为某些键选择所有键值对

java - 从android解析jsonObject并在webservice vb.net中获取它

c# - WCF - 在没有客户端调用的情况下发送回调

wcf - aspNet兼容性启用="true"

WCF Streaming - 谁关闭文件?