首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >异步访问WCF OperationContext

异步访问WCF OperationContext
EN

Stack Overflow用户
提问于 2013-05-28 06:28:12
回答 1查看 468关注 0票数 0

最近我读到了下面的post on SO

根据这个线程的同事的说法,只需捕获引用(无论是否有OperationContextScope的帮助),就可以安全地从另一个线程引用OperationContext.Current。

我的问题是:这是真的吗?我可以看到许多OperationContext的一次性成员。根据一个非常简单的测试-引用从线程池捕获的OpertionContext,像IncomingMessageHeaders这样的排队线程值会消失(被释放,不再有效)。

从请求线程中抓取什么是必需的,并且不依赖于操作上下文及其属性的生命周期,不是更安全吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-05-28 16:48:31

基本上,来自Msdn article

从服务操作中使用OperationContext来访问当前操作执行环境。具体地说,操作上下文用于访问双工服务中的回调通道,跨操作的各个部分存储额外的状态数据,以及访问传入消息头和属性以及添加传出消息头和属性。

this

OperationContext -该类表示运行时为每个操作收集的操作信息。这包括传入消息标头、传入消息属性、传入安全标识和其他信息等信息。此类的扩展既可以扩展OperationContext的行为,也可以存储每个操作的状态。

我认为您可以获得一些服务配置,这些配置允许您访问OperationContext值(玩弄服务的实例管理、服务模式等)。但是--在这种情况下,如果你的“服务实例模式”将来会改变--你可以破坏所有基于这个假设构建的功能。

我同意你的观点,我更喜欢自己处理状态值(当需要的时候)。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16781310

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档