ASP.Net vs MVC vs WebAPI和UseTaskFriendlySynchronizationConte
|
我有几个ASP.Net MVC和WebAPI项目.大多数是最新的(MVC 5 / WebAPI 2).我一直在重新检查我的安全假设,因为我实现了全局过滤器(对于MVC)和委托处理程序(用于WebAPI)来统一系统的安全性. 在这种情况下,我遇到了一些文章和帖子(见下文),您应该总是将UseTaskFriendlySynchronizationContext设置为true(默认为false).这对我来说似乎是奇怪的,即使在VS2013中,使用MVC 5和WebAPI 2新项目模板(以及ASP.Net WebForms模板)也不会设置此应用程序设置. 关于这个设置的MSDN文档实际上是不存在的,我发现这个说明它是异步编程所需的帖子似乎在WebForms的上下文中. 所以这里是我的问题: >这个设置适用于ASP.Net的任何东西,或ASP.Net特定的页面生命周期内容(我没有使用太多) 这里有一些关于UseTaskFriendlySynchronizationContext的文章: > Set Thread.CurrentPrincipal Asynchronously? 一些文章真的帮助我了解这些东西如何工作,从来没有提到UseTaskFriendlySynchronizationContext: > ExecutionContext vs SynchronizationContext by Stephen Toub 解决方法缺少的关键参考是 this blog post.具体来说,您需要设置UseTaskFriendlySynchronizationContext或将targetFramework设置为4.5.创建一个新项目将targetFramework设置为4.5,因此您将获得正确的行为(UseTaskFriendlySynchronizationContext隐式设置为true).回答你的具体问题: >该设置影响ASP.NET请求处理的各种请求,而不仅仅是WebForms.>大多数异步教程假定GUI应用程序场景.>我不确定我认为这会更好一个单独的问题.我的直觉是你离开ASP.NET上下文后不能依赖Thread.CurrentPrincipal. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc – 使用jQuery ASP.NET MVC自动保存表单输入
- asp.net-mvc – 将解决方案分成不同的项目
- 在ASP.NET网站中使用单例连接是一个好主意
- asp.net-mvc-4 – SimpleMembership – 向UserProfile添加电
- asp.net-mvc-3 – MVC3非顺序索引和DefaultModelBinder
- 在ASP.NET Web App中查找内存泄漏
- asp.net-mvc – 组合ASP.NET MVC Web应用程序的最佳实践(ME
- asp.net-mvc-3 – URL.Action在构造URL时包含id
- .net – DataAnnotations与IDataErrorInfo
- asp.net – Visual Studio开发服务器不更新css和javascript
