Sdílet prostřednictvím


PageAsyncTask Konstruktory

Definice

Inicializuje novou instanci PageAsyncTask třídy.

Přetížení

PageAsyncTask(Func<CancellationToken,Task>)

Inicializuje novou instanci PageAsyncTask třídy pomocí obslužné rutiny události, která umožňuje zrušit úlohu.

PageAsyncTask(Func<Task>)

Inicializuje novou instanci PageAsyncTask třídy pomocí obslužné rutiny události, která umožňuje zpracování úlohy.

PageAsyncTask(BeginEventHandler, EndEventHandler, EndEventHandler, Object)

Inicializuje novou instanci PageAsyncTask třídy pomocí výchozí hodnoty pro paralelní provádění.

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

Inicializuje novou instanci PageAsyncTask třídy pomocí zadané hodnoty pro paralelní provádění.

PageAsyncTask(Func<CancellationToken,Task>)

Inicializuje novou instanci PageAsyncTask třídy pomocí obslužné rutiny události, která umožňuje zrušit úlohu.

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))

Parametry

handler
Func<CancellationToken,Task>

Obslužná rutina události.

Poznámky

Tento konstruktor zabalí delegátaTaskEventHandler, aby PageAsyncTask objekt mohl integrovat asynchronní kód (na Task základě objektů) s existující funkcí ASP.NET Web Forms asynchronní stránky. ASP.NET signalizují CancellationToken objekt, který je předán delegátu TaskEventHandler pro zrušení na základě atributu AsyncTimeout nastaveného @ Page v direktivě webové stránky. AsyncTimeout Po dosažení CancellationToken hodnoty bude objekt signalizován. Parametr CancellationToken musí být předán všem asynchronním rozhraním API, která jsou volána vaší implementací TaskEventHandler třídy.

Platí pro

PageAsyncTask(Func<Task>)

Inicializuje novou instanci PageAsyncTask třídy pomocí obslužné rutiny události, která umožňuje zpracování úlohy.

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))

Parametry

handler
Func<Task>

Obslužná rutina události.

Platí pro

PageAsyncTask(BeginEventHandler, EndEventHandler, EndEventHandler, Object)

Inicializuje novou instanci PageAsyncTask třídy pomocí výchozí hodnoty pro paralelní provádění.

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)

Parametry

beginHandler
BeginEventHandler

Obslužná rutina, která se má volat při zahájení asynchronní úlohy.

endHandler
EndEventHandler

Obslužná rutina, která se má volat při úspěšném dokončení úkolu během časového limitu.

timeoutHandler
EndEventHandler

Obslužná rutina, která se má volat, když se úkol úspěšně nedokončil během časového limitu.

state
Object

Objekt, který představuje stav úkolu.

Výjimky

Parametr beginHandler nebo endHandler parametr není zadán.

Poznámky

Tato implementace konstruktoru ExecuteInParallel nastaví vlastnost tak, aby false asynchronní úloha nebyla zpracována paralelně s jinými úkoly na stránce.

Platí pro

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

Inicializuje novou instanci PageAsyncTask třídy pomocí zadané hodnoty pro paralelní provádění.

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)

Parametry

beginHandler
BeginEventHandler

Obslužná rutina, která se má volat při zahájení asynchronní úlohy.

endHandler
EndEventHandler

Obslužná rutina, která se má volat při úspěšném dokončení úkolu během časového limitu.

timeoutHandler
EndEventHandler

Obslužná rutina, která se má volat, když se úkol úspěšně nedokončil během časového limitu.

state
Object

Objekt, který představuje stav úkolu.

executeInParallel
Boolean

Hodnota, která označuje, zda lze úkol zpracovat paralelně s jinými úkoly.

Výjimky

Parametr beginHandler nebo endHandler parametr není zadán.

Příklady

Následující příklad kódu vytvoří tři asynchronní úlohy, které se zpracovávají paralelně mezi sebou. Tento příklad je součástí většího příkladu, který najdete v přehledu PageAsyncTask třídy.

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)

Poznámky

Tato implementace konstruktoru umožňuje nastavit, zda bude asynchronní úloha zpracována paralelně s ostatními úkoly na stránce.

Platí pro