0

在 ASP.NET 中,您可以按如下方式运行异步任务:

PageAsyncTask task1 = 
new PageAsyncTask(BeginAsyncOperation1, EndAsyncOperation1, TimeoutAsyncOperation1, state);
RegisterAsyncTask(task1);

PageAsyncTask task2 =
new PageAsyncTask(BeginAsyncOperation2, EndAsyncOperation2, TimeoutAsyncOperation2, state);
RegisterAsyncTask(task2);

但是,假设您需要确保 task1 在 task2 执行之前完成。这可能吗?

我的理解是这些任务将并行运行。

4

3 回答 3

5

最简单的解决方案是在“EndAsyncOperation1”处理程序中启动 task2。

于 2009-11-01T20:02:00.207 回答
2

如果 task1 需要在 task2 之前完成,您可以考虑创建第三个操作来封装对 BeginAsyncOperation1 和 BeginAsyncOperation2 的同步调用并异步运行该操作。在第一个任务完成之前,第二个任务的工作不会开始。

于 2009-11-01T20:03:27.083 回答
0

解决方案在 PageAsyncTask 构造函数中。将“parallel”的布尔标志设置为 false,它们将按顺序运行。

于 2011-05-17T20:29:43.720 回答