我目前正在开发一种WCF服务,该服务可以与其他服务联系,以便在其一些操作中提交信息。第二个服务的代理是通过强类型ProxyFactory<T>
类生成的。我没有遇到任何问题,但听到我在拨打电话时应该做以下事情:
using (new OperationContextScope((IContextChannel)_service))
_service.Send(message);
所以我的问题是:什么时候创建这个新的OperationContextScope
是合适的,为什么?
谢谢!
答案 0 :(得分:15)
如果您正在使用回调,或者您想要修改邮件或标题,则需要使用OperationContextScope
。您的服务可能需要在调用其他服务时修改传出标头。
当您建立OperationContextScope
时,您可以:
OperationContext
对象关联的频道或(如果频道实施System.ServiceModel.Channels.ISession
)相关频道的会话标识符。您调用的其他服务是基于会话的服务吗?您可能需要查看其示例客户端代码或文档(如果有)。