SynchronizationContext
一部の操作をシリアル化し、同じスレッドで実行するために (アプリケーションによって提供される) に依存するライブラリ コードがあります。このライブラリ コードは、それが実行されるアプリケーションに依存しません。
ただし、 の一部の実装のみSynchronizationContext
がこれWindowsFormSynchronizationContext
をDispatcherSynchronizationContext
行います。
SynchronizationContext
ベース自体のような他の実装AspNetSynchronizationContext
はフリースレッドです。操作のシリアル化は行いません。
コードに が渡された場合、SynchronizationContext
これら 2 つのケースをどのように区別できますか? 同期コンテキストが適切でない場合、明確なエラーですばやく失敗するようにします。