我正在寻求一系列的网络服务电话(所有服务都是相同的,每次都传递不同的参数)。
我一直在阅读有关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....
答案 0 :(得分:1)
第四个参数(在我们的示例中为“state”)可用于将对象作为参数传递给您的任务。如果您需要传入多个参数,则需要创建一个单独的类(例如DataTransferObject),它包含您的任务将使用的所有这些参数。