.net – ExecutionContext带有哪些“当前”属性

这是一个两部分问题:

>有人可以提供ASP.NET / .NET属性列表,这些属性通常是与ExecutionContext一起流动的线程本地吗?

HttpContext.Current?
Thread.CurrentContext?
Thread.CurrentPrincipal中?
Thread.CurrentCulture?

我可以依靠什么属性来存活/持续异步/等待?

还有什么?
>有没有办法添加将使用ExecutionContext自动流动的特定于应用程序的上下文信息?就像是

var ec = ExecutionContext.Capture();
ec.CustomContext["MyCustomContext"] = ACustomContext;

解决方法

最好的资源是由Stephen Toub提供的
ExecutionContext vs. SynchronizationContext.没有像您要查找的属性列表.

ASP.NET实际上使用SynchronizationContext来传输HttpContext.Current和treats Thread.CurrentPrincipal rather oddly.

您可以使用LogicalSetData / LogicalGetData添加自己的上下文.但是,您应该只存储不可变数据.我记录了这个on my blog.

dawei

【声明】:唐山站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。