HostingEnvironment.QueueBackgroundWorkItem 方法

定義

排程可在背景中執行的工作,不受任何要求影響。

此多載方法不會讓 ExecutionContextSecurityContext 從呼叫者流動至被呼叫者。 因此,這些物件的成員 (例如 CurrentPrincipal 屬性) 都不會從呼叫者流入被呼叫者。

多載

QueueBackgroundWorkItem(Action<CancellationToken>)

排程可在背景中執行的工作,不受任何要求影響。

QueueBackgroundWorkItem(Func<CancellationToken,Task>)

排程可在背景中執行的工作,不受任何要求影響。

QueueBackgroundWorkItem(Action<CancellationToken>)

排程可在背景中執行的工作,不受任何要求影響。

public:
 static void QueueBackgroundWorkItem(Action<System::Threading::CancellationToken> ^ workItem);
public static void QueueBackgroundWorkItem (Action<System.Threading.CancellationToken> workItem);
static member QueueBackgroundWorkItem : Action<System.Threading.CancellationToken> -> unit
Public Shared Sub QueueBackgroundWorkItem (workItem As Action(Of CancellationToken))

參數

workItem
Action<CancellationToken>

執行單位。

備註

不同于一般的 ThreadPool 工作專案,ASP.NET 可以追蹤透過此 API 註冊的工作專案數目目前正在執行,而 ASP.NET 執行時間會嘗試延遲 AppDomain 關機,直到這些工作專案完成執行為止。 此 API 無法在受 ASP.NET 管理的 AppDomain 外部呼叫。 當應用程式關閉時,提供的 CancellationToken 會發出訊號。

QueueBackgroundWorkItem 接受工作傳回回呼;回呼傳回時,工作專案會被視為已完成。

適用於

QueueBackgroundWorkItem(Func<CancellationToken,Task>)

排程可在背景中執行的工作,不受任何要求影響。

public:
 static void QueueBackgroundWorkItem(Func<System::Threading::CancellationToken, System::Threading::Tasks::Task ^> ^ workItem);
public static void QueueBackgroundWorkItem (Func<System.Threading.CancellationToken,System.Threading.Tasks.Task> workItem);
static member QueueBackgroundWorkItem : Func<System.Threading.CancellationToken, System.Threading.Tasks.Task> -> unit
Public Shared Sub QueueBackgroundWorkItem (workItem As Func(Of CancellationToken, Task))

參數

workItem
Func<CancellationToken,Task>

執行單位。

備註

不同于一般的 ThreadPool 工作專案,ASP.NET 可以追蹤透過此 API 註冊的工作專案數目目前正在執行,而 ASP.NET 執行時間會嘗試延遲 AppDomain 關機,直到這些工作專案完成執行為止。 此 API 無法在受 ASP.NET 管理的 AppDomain 外部呼叫。 當應用程式關閉時,提供的 CancellationToken 會發出訊號。

QueueBackgroundWorkItem 接受工作傳回回呼;當傳回的工作轉換為終端機狀態時,工作專案會被視為已完成。

適用於