1. ホーム
  2. .net

[解決済み] ASP.NET CoreでConfigureAwait(false)は有効か?

2022-06-09 08:34:42

質問

ある問題に行き当たりました ( https://github.com/HTBox/allReady/issues/1313 ) を発見しました。 ConfigureAwait(false) を取り除くことについて議論しています。 ASP.NET Core

への呼び出しは ConfigureAwait(false) の呼び出しは冗長であり、何もしません。

私がここで見つけたベストは、回答の中の「傍注」です(Stephen Clearyから。 https://stackoverflow.com/a/40220190/2805831 によるもの) で、次のように述べています。

ASP.NET Coreは、もはや"context"を持ちません。

ということは ConfigureAwait(false) は本当に不要なのでしょうか? ASP.NET Core (たとえ完全な.Net Frameworkを使用していても)? それはいくつかのケースでパフォーマンスの実際の利得または結果/セマンティックの違いを持つのでしょうか?

EDITです。 コンソールアプリケーションとしてホストしている場合とIISでホストしている場合では、この点が異なるのでしょうか?

どのように解決するのですか?

ConfigureAwait のコンテキストで実行されているコードに対してのみ効果があります。 SynchronizationContext のコンテキストで実行されているコードにのみ効果があります。ASP.NET Core にはありません (ASP.NET "Legacy" にはあります)。

を使用して実行される可能性があるため、汎用コードはまだそれを使用する必要があります。 SynchronizationContext .

ASP.NET CoreのSynchronizationContext