PageAsyncTask Update UI
本文关键字:UI Update PageAsyncTask | 更新日期: 2023-09-27 18:11:40
我正在学习asp.net中的异步操作。我在MSDN找到了一篇文章。代码工作,但我希望能够在漫长的过程中更新UI。它只显示过程完成后的结果。我使用相同的代码为AsyncClass在提到的链接。下面是代码:
AsyncTask slowTask1 = new AsyncTask();
PageAsyncTask task = new PageAsyncTask(slowTask1.OnBegin, slowTask1.OnEnd, slowTask1.OnTimeout, "Async1", true);
Page.AsyncTimeout = new TimeSpan(0, 0, 5);
Page.RegisterAsyncTask(task);
// Page.ExecuteRegisteredAsyncTasks();
IAsyncResult result = slowTask1.OnBegin(this.Page,null,null,null);
WaitHandle waitHandle = result.AsyncWaitHandle;
waitHandle.WaitOne(2000, false);
if(result.IsCompleted)
{
slowTask1.OnEnd(result);
lbProgress.Text = slowTask1.GetAsyncTaskProgress();
Thread.Sleep(1000);
}
else
lbProgress.Text = slowTask1.GetAsyncTaskProgress();
您不能在代码后面这样做。同时向客户端发送request/response
结束的响应。因此,如果您需要等待Async
操作的结果(以某种方式在响应中使用),并且仍然需要更新页面,请使用AJAX
并从客户端提取数据。