私はいくつかのASP.Net MVCとWebAPIプロジェクトを持っています。それらのほとんどは最新のものです(MVC 5/WebAPI 2)。私は、システム全体のセキュリティを統一するためにグローバルフィルタ(MVC用)と委任ハンドラ(WebAPI用)を実装しているので、セキュリティの前提を再確認しています。ASP.NetとMVC対WebAPIとUseTaskFriendlySynchronizationContext
この文脈では、UseTaskFriendlySynchronizationContext
をtrue
(デフォルトはfalse
)に設定する必要があると言っている記事と投稿(下記参照)があります。これはMVC 5とWebAPI 2の新しいプロジェクトテンプレート(ASP.Net WebFormsテンプレートと同様)を使用してVS2013でさえこのアプリケーション設定をまったく設定しないので、私にとっては奇妙に思えます。
この設定に関するMSDNのドキュメントはほとんど存在せず、非同期プログラミングに必要とされていると判明した投稿はWebFormsのコンテキスト内にあるようです。だからここ
は私の質問です:
- は、この設定はすべてのASP.Netには適用されないか、それは(私はあまり使用されていませんでした)ASP.Netでページのライフサイクルのもの
- に固有のものです現代の非同期プログラミングにとって非常に重要な場合は、チュートリアルやテンプレートがそれを参照するのはなぜですか?
- ConfigureAwait(false)を使用する参照されたライブラリのThread.CurrentPrincipalの主張を使用すると、問題が発生するか、ExecutionContextの論理的な呼び出しコンテキストが流れてしまいますか?
は私がUseTaskFriendlySynchronizationContext
について見てきた記事の一部です(私の読書と試験はこれまでのところ、それがすることを示します)
本当に私はこのすべてのものがUseTaskFriendlySynchronizationContext
に言及したことがないことをどのように機能するかについて理解を得る助けたいくつかの記事は:
- ExecutionContext vs SynchronizationContext by Stephen Toub
- It's All About the SynchronizationContext by Stephen Cleary
私は#3を素早いサンプルコードで独自の質問にしました。あなたがそれを見てチャンスを持っているなら、私は本当にそれを感謝します! ([Security、Thread.CurrentPrincipal、およびConfigureAwait(false)](http://stackoverflow.com/questions/20479888/security-thread-currentprincipal-and-configureawaitfalse)) –