asp.net – 我应该如何使用ExecutionContext来提供我自己的上下文流?

更新:

发现类似question.

我想在ASP.NET应用程序的AmbientContext设计模式之后实现一些服务.
例如,我需要在请求处理的最开始设置一次用户名(如Thread.CurrentPrincipal),并在执行异步操作时在线程之间流动.
因此,我需要将数据附加到ExecutionContext,然后在处理请求时将其分离.

不幸的是,我不知道怎么做.

documentation只有一小部分提示:

Internally, the ExecutionContext stores all data that is associated
with the LogicalCallContext. This allows the LogicalCallContext data
to be propagated when the ExecutionContext is copied and transferred.

最佳答案 我有同样的问题.我最终找到了
CallContext类,它可以使用LogicalGetData和LogicalSetData方法完成此操作.这是一个讨论如何使用这个类的
very good article with examples.

点赞