Task.ConfigureAwait 方法

定義

多載

ConfigureAwait(Boolean)

設定用來等候這個 Task 的 awaiter。

ConfigureAwait(ConfigureAwaitOptions)

設定用來等候這個 Task 的 awaiter。

ConfigureAwait(Boolean)

來源:
Task.cs
來源:
Task.cs
來源:
Task.cs

設定用來等候這個 Task 的 awaiter。

C#
public System.Runtime.CompilerServices.ConfiguredTaskAwaitable ConfigureAwait(bool continueOnCapturedContext);

參數

continueOnCapturedContext
Boolean

true 表示嘗試將接續封送處理回原始擷取的內容,否則為 false

傳回

等候這項工作所用的物件。

備註

當非同步方法在直接等候 Task 時,接續通常會發生在建立工作的相同執行緒中,不過需視非同步的內容而定。 就效能的面向而言,此行為的成本可能很高,且可能會導致在使用者介面執行緒上產生死結。 若要避免這些問題,請呼叫 Task.ConfigureAwait(false) 。 如需詳細資訊,請參閱 ConfigureAwait 常見問題

另請參閱

適用於

.NET 10 及其他版本
產品 版本
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

ConfigureAwait(ConfigureAwaitOptions)

來源:
Task.cs
來源:
Task.cs

設定用來等候這個 Task 的 awaiter。

C#
public System.Runtime.CompilerServices.ConfiguredTaskAwaitable ConfigureAwait(System.Threading.Tasks.ConfigureAwaitOptions options);

參數

options
ConfigureAwaitOptions

用來設定此工作等候執行方式的選項。

傳回

等候這項工作所用的物件。

例外狀況

options 引數指定了無效的值。

適用於

.NET 10 及其他版本
產品 版本
.NET 8, 9, 10