[英]ASP.Net vs MVC vs WebAPI and UseTaskFriendlySynchronizationContext
我有幾個ASP.Net MVC和WebAPI項目。 其中大多數都是最新的(MVC 5 / WebAPI 2)。 我一直在仔細檢查我的安全假設,因為我正在實現一個全局過濾器(用於MVC)和一個委托處理程序(用於WebAPI)來統一整個系統的安全性。
在這種情況下,我遇到了一些文章和帖子(見下文),它們說你應該總是將UseTaskFriendlySynchronizationContext
設置為true
(默認為false
)。 這對我來說似乎很奇怪,因為即使在VS2013中使用MVC 5和WebAPI 2新項目模板(以及ASP.Net WebForms模板)也根本不設置此應用程序設置。
關於此設置的MSDN文檔幾乎不存在,我發現的帖子確實說它是異步編程所必需的,似乎是在WebForms的上下文中。
所以這是我的問題:
以下是我見過的有關UseTaskFriendlySynchronizationContext
一些文章:
SynchronizationContext
一些文章真正幫助我掌握了所有這些東西的工作原理,從未提及UseTaskFriendlySynchronizationContext
:
缺少的關鍵參考是這篇博文 。 具體來說,您需要或者設置UseTaskFriendlySynchronizationContext
或設置targetFramework
至4.5
。 創建新項目targetFramework
設置為4.5
,因此您可以獲得正確的行為( UseTaskFriendlySynchronizationContext
隱式設置為true
)。
回答您的具體問題:
async
教程都假設一個GUI應用程序場景。 Thread.CurrentPrincipal
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.