public
partial
class
SlowMultiAsync : Page
{
Slow slowWebservice = new Slow();
protected void Page_Load(object sender, EventArgs e)
{
PageAsyncTask task1 =
new PageAsyncTask(
new BeginEventHandler(BeginGetAsyncData),
new EndEventHandler(EndGetAsyncData),
new EndEventHandler(TimeoutGetAsyncData),
"task1", //this is supplemental state (an object parameter) in which you can pass anything
true); //this is whether you want to run in parallel or serially
PageAsyncTask task2 =
new PageAsyncTask(
new BeginEventHandler(BeginGetAsyncData),
new EndEventHandler(EndGetAsyncData),
new EndEventHandler(TimeoutGetAsyncData),
"task2",
true);
PageAsyncTask task3 =
new PageAsyncTask(
new BeginEventHandler(BeginGetAsyncData),
new EndEventHandler(EndGetAsyncData),
new EndEventHandler(TimeoutGetAsyncData),
"task3",
true);
RegisterAsyncTask(task1);
RegisterAsyncTask(task2);
RegisterAsyncTask(task3);
}
IAsyncResult BeginGetAsyncData(Object src, EventArgs args,
AsyncCallback cb, Object state)
{
return slowWebservice.BeginHelloWorld(cb, state);
}
void TimeoutGetAsyncData(IAsyncResult ar)
{
Response.Write("<strong>async get data timed out</strong><br />");
}
void EndGetAsyncData(IAsyncResult ar)
{
string ret = slowWebservice.EndHelloWorld(ar);
// use result to prepare response here
}
//
}
{
Slow slowWebservice = new Slow();
protected void Page_Load(object sender, EventArgs e)
{
PageAsyncTask task1 =
new PageAsyncTask(
new BeginEventHandler(BeginGetAsyncData),
new EndEventHandler(EndGetAsyncData),
new EndEventHandler(TimeoutGetAsyncData),
"task1", //this is supplemental state (an object parameter) in which you can pass anything
true); //this is whether you want to run in parallel or serially
PageAsyncTask task2 =
new PageAsyncTask(
new BeginEventHandler(BeginGetAsyncData),
new EndEventHandler(EndGetAsyncData),
new EndEventHandler(TimeoutGetAsyncData),
"task2",
true);
PageAsyncTask task3 =
new PageAsyncTask(
new BeginEventHandler(BeginGetAsyncData),
new EndEventHandler(EndGetAsyncData),
new EndEventHandler(TimeoutGetAsyncData),
"task3",
true);
RegisterAsyncTask(task1);
RegisterAsyncTask(task2);
RegisterAsyncTask(task3);
}
IAsyncResult BeginGetAsyncData(Object src, EventArgs args,
AsyncCallback cb, Object state)
{
return slowWebservice.BeginHelloWorld(cb, state);
}
void TimeoutGetAsyncData(IAsyncResult ar)
{
Response.Write("<strong>async get data timed out</strong><br />");
}
void EndGetAsyncData(IAsyncResult ar)
{
string ret = slowWebservice.EndHelloWorld(ar);
// use result to prepare response here
}
//
}