通过


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 窗体异步页面功能集成。 ASP.NET 将根据网页指令中@ Page设置的属性,向CancellationToken委托传递TaskEventHandler的对象发出取消AsyncTimeout信号。 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参数。

示例

下面的代码示例创建三个异步任务,这些任务彼此并行处理。 此示例是类概述中找到的较大示例的 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)

注解

此构造函数的实现允许你设置异步任务是否与页面上的其他任务并行处理。

适用于