【发布时间】:2016-04-12 19:35:45
【问题描述】:
更新:
找到类似的question。
我想为我们的 ASP.NET 应用程序实现一些遵循 AmbientContext 设计模式的服务。
例如,我需要在请求处理的最开始设置一次用户名(如 Thread.CurrentPrincipal),并在执行异步操作时在线程之间流动。
因此,我需要将数据附加到 ExecutionContext,然后在处理请求时将其分离。
不幸的是,我不知道该怎么做。
documentation中只有一个小提示:
在内部,ExecutionContext 存储所有关联的数据 与LogicalCallContext。这允许 LogicalCallContext 数据 在复制和传输 ExecutionContext 时传播。
【问题讨论】:
-
对 SynchronisationContext(我建议使用它)和 ExecutionContext 之间的区别不太了解,我是通过谷歌到达这里的:blogs.msdn.com/b/pfxteam/archive/2012/06/15/…
-
@brumScouse 正是从这篇文章中我得出的结论是 ExecutionContext 比 SynchronizationContext 更通用。
-
@brumScouse 要得到答案,我唯一要做的就是阅读文章下的 cmets =)
-
也许我应该更深入地阅读!很好,我会读那些有兴趣的。