Dot-Net
哪些“目前”屬性隨 ExecutionContext 流動
這是一個兩部分的問題:
- 有人可以提供一個 ASP.NET/.NET 屬性的列表,這些屬性通常是與 ExecutionContext 一起流動的執行緒本地嗎?
HttpContext.Current?Thread.CurrentContext?Thread.CurrentPrincipal?Thread.CurrentCulture?
我可以依靠哪些屬性來生存/持久非同步/等待?
還有什麼? 2. 有什麼方法可以添加將與 ExecutionContext 一起自動流動的特定於應用程序的上下文資訊?就像是
var ec = ExecutionContext.Capture(); ec.CustomContext["MyCustomContext"] = ACustomContext;
最好的資源是Stephen Toub 的ExecutionContext vs. SynchronizationContext。沒有您正在尋找的屬性列表。
ASP.NET實際上是使用
SynchronizationContext流HttpContext.Current的,而且處理Thread.CurrentPrincipal得比較奇怪。
LogicalSetData您可以使用/添加自己的上下文LogicalGetData。但是,您應該只儲存不可變數據。我在我的部落格上記錄了這一點。