在ASP.NET中,您可以按如下方式运行异步任务:
PageAsyncTask task1 =
new PageAsyncTask(BeginAsyncOperation1, EndAsyncOperation1, TimeoutAsyncOperation1, state);
RegisterAsyncTask(task1);
PageAsyncTask task2 =
new PageAsyncTask(BeginAsyncOperation2, EndAsyncOperation2, TimeoutAsyncOperation2, state);
RegisterAsyncTask(task2);
但是,假设您需要确保task1在task2执行之前完成。这可能吗?
我的理解是这些任务将并行运行。
答案 0 :(得分:5)
最简单的解决方案是在“EndAsyncOperation1”处理程序中启动task2。
答案 1 :(得分:2)
如果task1需要在task2之前完成,您可以考虑创建第三个操作,该操作封装对BeginAsyncOperation1和BeginAsyncOperation2的同步调用,并异步运行该操作。第一项任务完成后,第二项任务的工作才会开始。
答案 2 :(得分:0)
解决方案在PageAsyncTask构造函数中。将“parallel”的布尔标志设置为false,它们将按顺序运行。