次の方法で共有


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>

イベント ハンドラー。

注釈

このコンストラクターは、PageAsyncTask オブジェクトが (Task オブジェクトに基づく) 非同期コードを既存の ASP.NET Web フォームの非同期ページ機能と統合できるように、TaskEventHandler デリゲートをラップします。 ASP.NET は、Web ページの @ Page ディレクティブで設定されたAsyncTimeout属性に基づいて、取り消しのためにTaskEventHandler デリゲートに渡されるCancellationToken オブジェクトに通知します。 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 パラメーターが指定されていません。

注釈

このコンストラクターの実装により、 ExecuteInParallel プロパティが false に設定されるため、非同期タスクはページ上の他のタスクと並行して処理されません。

適用対象

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 パラメーターが指定されていません。

次のコード例では、相互に並列に処理される 3 つの非同期タスクを作成します。 この例は、 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)

注釈

このコンストラクターの実装により、非同期タスクをページ上の他のタスクと並行して処理するかどうかを設定できます。

適用対象