我正在查看 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/