ASP.net PageAsyncTaks - 如何将参数传递给任务?

时间:2011-10-19 14:34:35

标签: asp.net asynchronous

我正在寻求一系列的网络服务电话(所有服务都是相同的,每次都传递不同的参数)。

我一直在阅读有关PageAsyncTasks的一些内容,它们看起来正确,但不确定如何将参数传递给每次调用服务。下面有很多简化示例 - 在注册要执行的每个任务之前,现实世界将循环并更改参数:

protected override void OnInit(EventArgs e)
{    
    base.OnInit(e);     
    int myParameter = 1;

    var task = new PageAsyncTask(BeginRequest, EndRequest, null, null, true);
    RegisterAsyncTask(task);    
} 

IAsyncResult BeginRequest(Object sender, EventArgs e, AsyncCallback cb, object state)
{    
    var service = new ServiceClient();    

    return service.BeginServiceCall(<How to get the parameter to the async call?>, 
                cb, service);
} 

... End request etc....

1 个答案:

答案 0 :(得分:1)

第四个参数(在我们的示例中为“state”)可用于将对象作为参数传递给您的任务。如果您需要传入多个参数,则需要创建一个单独的类(例如DataTransferObject),它包含您的任务将使用的所有这些参数。