Birkaç ASP.Net MVC ve WebAPI projelerim var. Bunların çoğu günceldir (MVC 5/WebAPI 2). Güvenlik varsayımlarımı iki kez kontrol ettim çünkü sistem genelinde güvenliği birleştirmek için küresel bir filtre (MVC için) ve bir temsilci (WebAPI için) uygulamıyorum. Bu bağlamda ASP.Net vs MVC vs WebAPI ve UseTaskFriendlySynchronizationContext
, birkaç makale ve daima (false
için öntanımlı)
UseTaskFriendlySynchronizationContext
true
ayarını gerektiğini söylüyorlar mesajların (aşağıya bakınız) rastlamak ettik. Bu MVC 5 ve WebAPI 2 yeni proje şablonları (ASP.Net WebForms şablonunun yanı sıra) kullanarak VS2013 bile bu uygulama ayarını hiç ayarlamaz gibi garip görünüyor.
Bu ayardaki MSDN dökümanları pratik olarak mevcut değil ve async programlama için gerekli olduğunu söyleyen yayınlar WebForms bağlamında görünüyor.
Yani benim sorular şunlardır: Bu ayar her şey ASP.Net için geçerli ya da (ben pek kullanılmaz ettik) ASP.Net içinde sayfa yaşam döngüsü şeyler
- Modern zaman uyumsuz programlama için çok önemliyse, neden herhangi bir öğretici veya şablona başvurmuyor?
- Thread.CurrentPrincipal'ın ConfigureAwait (false) kullanan herhangi bir sorunla karşılaştığı başvurulan bir kitaplıktaki iddiaları kullanmak ister misiniz, yoksa ExecutionContext'in mantıksal çağrı bağlamının akışını oradaki benimle ilgilenir mi?
İşte UseTaskFriendlySynchronizationContext
ilgili gördüğüm makalelerin bazıları (benim okuma ve test şimdiye kadar olacak belirtir):
- 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?
gerçekten beni tüm bu şeyler UseTaskFriendlySynchronizationContext
söz asla nasıl çalıştığına dair bir kavrayışa olsun yardımcı Bazı makaleler:
Bazı hızlı örnek kodlarla # 3'ü kendi sorusuna çektim. Buna bakmak için bir şansın varsa, gerçekten takdir ediyorum! ([Güvenlik, Thread.CurrentPrincipal ve ConfigureAwait (false)] (http://stackoverflow.com/questions/20479888/security-thread-currentprincipal-and-configureawaitfalse)) –