몇 가지 ASP.Net MVC 및 WebAPI 프로젝트가 있습니다. 대부분은 최신 버전입니다 (MVC 5/WebAPI 2). 필자는 전역 필터 (MVC 용) 및 위임 처리기 (WebAPI 용)를 구현하여 시스템 전반의 보안을 통합하므로 보안 가정을 두 번 확인했습니다.ASP.Net 대 MVC 대 WebAPI 및 UseTaskFriendlySynchronizationContext
그 맥락에서 나는 항상 UseTaskFriendlySynchronizationContext
을 true
(기본값은 false
)으로 설정해야한다고 말하는 몇 가지 기사와 게시물 (아래 참조)을 발견했습니다. 이것은 MVC 5 및 WebAPI 2를 사용하는 VS2013에서도 (ASP.Net WebForms 템플릿은 물론) 새 프로젝트 템플릿이이 앱 설정을 전혀 설정하지 않아서 이상하게 보입니다.
이 설정에 대한 MSDN 설명서는 사실상 존재하지 않으며 비동기 프로그래밍에 필요하다고 밝혀진 게시물은 WebForms의 컨텍스트에있는 것처럼 보입니다.
그래서 여기 내 질문이있다 :이 설정은 모든 ASP.Net에 적용하거나 (내가 많이 사용하지 않는 한) ASP.Net에서 페이지 수명주기 물건
- 현대 비동기 프로그래밍에 매우 중요하다면 튜토리얼이나 템플릿에서이를 참조하지 않는 이유는 무엇입니까?
- ConfigureAwait (false)를 사용하는 참조 된 라이브러리에서 Thread.CurrentPrincipal의 클레임을 사용하면 문제가 발생하거나 ExecutionContext의 논리적 호출 컨텍스트가 흐트러 뜨릴 수 있습니까?
여기 UseTaskFriendlySynchronizationContext
에 대해 내가 본 기사의 일부입니다 (내 독서 및 테스트는 지금까지 것을 나타냅니다) :
- Set Thread.CurrentPrincipal Asynchronously?
- ASP.NET appSettings Element on MSDN
- What's the meaning of "UseTaskFriendlySynchronizationContext"?
- Understanding the
SynchronizationContext
in ASP.NET by Marcus van Houdt - Why is an "await Task.Yield()" required for Thread.CurrentPrincipal to flow correctly? 012 3,516,
정말이 모든 물건 UseTaskFriendlySynchronizationContext
을 언급 결코 작동 방법에 대한 이해를 도왔 일부 기사 :
몇 가지 간단한 샘플 코드를 사용하여 # 3을 자체 질문에 포함 시켰습니다. 당신이 그것을 볼 수있는 기회가 있다면 정말 고맙겠습니다! ([Security, Thread.CurrentPrincipal 및 ConfigureAwait (false)] (http://stackoverflow.com/questions/20479888/security-thread-currentprincipal-and-configureawaitfalse)) –