asp.net-mvc-4 – 从ASP.NET MVC Action调用ConfigureAwait
我正在进行演示,并认为以下内容将失败,因为ActionResult不会在正确的上下文中返回.我加载测试它与VS并没有错误.我已经调试了,知道它是切换线程.所以似乎是合法的代码.
ASP.NET不关心客户端应用程序的上下文或线程吗?如果是这样,AspNetSynchronizationContext的目的是什么?我不觉得在操作本身放置一个ConfigureAwait.有些东西似乎错了.有人可以解释吗 public async Task<ActionResult> AsyncWithBackendTest() { var result = await BackendCall().ConfigureAwait(false); var server = HttpContext.Server; HttpContext.Cache["hello"] = "world"; return Content(result); } 解决方法
ASP.NET没有许多客户端应用程序需要“UI线程”(由于下面的UI框架).该上下文不是关于线程亲和性,而是用于跟踪页面进度(以及其他事情,例如携带请求的安全上下文)
Stephen Toub mentions this in an MSDN article:
Stephen Cleary’s article from last year提供了有关同步上下文的更多细节. 图4特别表明它没有WinForms / WPF的“特定线程”行为,但整个事情是一个很好的阅读.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net 报错 “C:\wxyun\System\Log&
- 如何通过其他服务器发送对asp.net webform请求的响应
- asp.net – 当数据绑定控件被绑定两次时,如何避免重复项?
- asp.net-core – ASP.NET vNext项目参考
- asp.net-mvc – 类型或命名空间名称“Mvc”不存在
- asp.net-mvc-3 – 具有最佳实践的示例N层ASP.NET MVC3应用程
- asp.net – 我应该使用Orchard或umbraco还是别的什么?
- asp.net – MVC 4 – 在局部视图中使用不同的模型
- asp.net – 无法为自定义MembershipProvider创建Membership
- asp.net-mvc – ASP.NET MVC 3 Razor Intellisense