PageAsyncTask 建構函式

定義

初始化 PageAsyncTask 類別的新執行個體。

多載

PageAsyncTask(Func<CancellationToken,Task>)

使用可取消工作的事件處理常式,初始化 PageAsyncTask 類別的新執行個體。

PageAsyncTask(Func<Task>)

使用可處理工作的事件處理常式,初始化 PageAsyncTask 類別的新執行個體。

PageAsyncTask(BeginEventHandler, EndEventHandler, EndEventHandler, Object)

使用平行執行的預設值,初始化 PageAsyncTask 類別的新執行個體。

PageAsyncTask(BeginEventHandler, EndEventHandler, EndEventHandler, Object, Boolean)

使用平行執行之指定的值,初始化 PageAsyncTask 類別的新執行個體。

PageAsyncTask(Func<CancellationToken,Task>)

使用可取消工作的事件處理常式,初始化 PageAsyncTask 類別的新執行個體。

public:
 PageAsyncTask(Func<System::Threading::CancellationToken, System::Threading::Tasks::Task ^> ^ handler);
public PageAsyncTask (Func<System.Threading.CancellationToken,System.Threading.Tasks.Task> handler);
new System.Web.UI.PageAsyncTask : Func<System.Threading.CancellationToken, System.Threading.Tasks.Task> -> System.Web.UI.PageAsyncTask
Public Sub New (handler As Func(Of CancellationToken, Task))

參數

handler
Func<CancellationToken,Task>

事件處理常式。

備註

此建構函式會 TaskEventHandler 包裝委派,讓 PageAsyncTask 物件可以根據物件) Task 與現有 ASP.NET Web Forms非同步頁面功能來整合非同步程式碼 (。 ASP.NET 會 CancellationToken 根據 AsyncTimeout 網頁指示詞中 @ Page 設定的屬性,向委派傳遞至 TaskEventHandler 委派以取消的物件。 AsyncTimeout達到值之後, CancellationToken 物件就會收到訊號。 參數 CancellationToken 必須傳遞至類別實作 TaskEventHandler 所呼叫的任何非同步 API。

適用於

PageAsyncTask(Func<Task>)

使用可處理工作的事件處理常式,初始化 PageAsyncTask 類別的新執行個體。

public:
 PageAsyncTask(Func<System::Threading::Tasks::Task ^> ^ handler);
public PageAsyncTask (Func<System.Threading.Tasks.Task> handler);
new System.Web.UI.PageAsyncTask : Func<System.Threading.Tasks.Task> -> System.Web.UI.PageAsyncTask
Public Sub New (handler As Func(Of Task))

參數

handler
Func<Task>

事件處理常式。

適用於

PageAsyncTask(BeginEventHandler, EndEventHandler, EndEventHandler, Object)

使用平行執行的預設值,初始化 PageAsyncTask 類別的新執行個體。

public:
 PageAsyncTask(System::Web::BeginEventHandler ^ beginHandler, System::Web::EndEventHandler ^ endHandler, System::Web::EndEventHandler ^ timeoutHandler, System::Object ^ state);
public PageAsyncTask (System.Web.BeginEventHandler beginHandler, System.Web.EndEventHandler endHandler, System.Web.EndEventHandler timeoutHandler, object state);
new System.Web.UI.PageAsyncTask : System.Web.BeginEventHandler * System.Web.EndEventHandler * System.Web.EndEventHandler * obj -> System.Web.UI.PageAsyncTask
Public Sub New (beginHandler As BeginEventHandler, endHandler As EndEventHandler, timeoutHandler As EndEventHandler, state As Object)

參數

beginHandler
BeginEventHandler

當開始非同步工作時要呼叫的處理常式。

endHandler
EndEventHandler

當工作在逾時期限內成功完成時要呼叫的處理常式。

timeoutHandler
EndEventHandler

當工作未在逾時期限內成功完成時要呼叫的處理常式。

state
Object

表示工作狀態的物件。

例外狀況

beginHandler 參數或 endHandler 參數未指定。

備註

這個建構函式的實作會將 屬性設定 ExecuteInParallelfalse ,讓非同步工作不會與頁面上的其他工作平行處理。

適用於

PageAsyncTask(BeginEventHandler, EndEventHandler, EndEventHandler, Object, Boolean)

使用平行執行之指定的值,初始化 PageAsyncTask 類別的新執行個體。

public:
 PageAsyncTask(System::Web::BeginEventHandler ^ beginHandler, System::Web::EndEventHandler ^ endHandler, System::Web::EndEventHandler ^ timeoutHandler, System::Object ^ state, bool executeInParallel);
public PageAsyncTask (System.Web.BeginEventHandler beginHandler, System.Web.EndEventHandler endHandler, System.Web.EndEventHandler timeoutHandler, object state, bool executeInParallel);
new System.Web.UI.PageAsyncTask : System.Web.BeginEventHandler * System.Web.EndEventHandler * System.Web.EndEventHandler * obj * bool -> System.Web.UI.PageAsyncTask
Public Sub New (beginHandler As BeginEventHandler, endHandler As EndEventHandler, timeoutHandler As EndEventHandler, state As Object, executeInParallel As Boolean)

參數

beginHandler
BeginEventHandler

當開始非同步工作時要呼叫的處理常式。

endHandler
EndEventHandler

當工作在逾時期限內成功完成時要呼叫的處理常式。

timeoutHandler
EndEventHandler

當工作未在逾時期限內成功完成時要呼叫的處理常式。

state
Object

表示工作狀態的物件。

executeInParallel
Boolean

指出工作是否可以和其他工作平行處理之值。

例外狀況

beginHandler 參數或 endHandler 參數未指定。

範例

下列程式碼範例會建立三個平行處理的非同步工作。 此範例是類別概觀中找到較大範例的 PageAsyncTask 一部分。

PageAsyncTask asyncTask1 = new PageAsyncTask(slowTask1.OnBegin, slowTask1.OnEnd, slowTask1.OnTimeout, "Async1", true);
PageAsyncTask asyncTask2 = new PageAsyncTask(slowTask2.OnBegin, slowTask2.OnEnd, slowTask2.OnTimeout, "Async2", true);
PageAsyncTask asyncTask3 = new PageAsyncTask(slowTask3.OnBegin, slowTask3.OnEnd, slowTask3.OnTimeout, "Async3", true);

// Register the asynchronous task.
Page.RegisterAsyncTask(asyncTask1);
Page.RegisterAsyncTask(asyncTask2);
Page.RegisterAsyncTask(asyncTask3);
Dim asyncTask1 As New PageAsyncTask(AddressOf slowTask1.OnBegin, AddressOf slowTask1.OnEnd, AddressOf slowTask1.OnTimeout, "Async1", True)
Dim asyncTask2 As New PageAsyncTask(AddressOf slowTask2.OnBegin, AddressOf slowTask2.OnEnd, AddressOf slowTask2.OnTimeout, "Async2", True)
Dim asyncTask3 As New PageAsyncTask(AddressOf slowTask3.OnBegin, AddressOf slowTask3.OnEnd, AddressOf slowTask3.OnTimeout, "Async3", True)

' Register the asynchronous task.
Page.RegisterAsyncTask(asyncTask1)
Page.RegisterAsyncTask(asyncTask2)
Page.RegisterAsyncTask(asyncTask3)

備註

這個建構函式的實作可讓您設定非同步工作是否會與頁面上的其他工作平行處理。

適用於