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 将根据网页指令中的@ Page属性集向委托传递TaskEventHandler的对象发出信号CancellationToken,以便取消AsyncTimeoutAsyncTimeout达到该值后,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 参数未指定。

注解

构造函数的此实现将属性false设置为ExecuteInParallel,因此异步任务不会与页面上的其他任务并行处理。

适用于

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)

注解

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

适用于