【问题标题】:PageAsyncTask Update UIPageAsyncTask 更新 UI
【发布时间】:2013-05-02 03:41:25
【问题描述】:

我正在学习 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();

【问题讨论】:

    标签: c# asp.net multithreading pageasynctask


    【解决方案1】:

    你不能从后面的代码中做到这一点。在将响应发送给客户端时,request/response 已结束。因此,如果您需要等待Async 操作的结果(以某种方式用于响应)并且仍然需要更新页面,请使用AJAX 并从客户端拉数据。

    【讨论】:

      猜你喜欢
      • 2011-12-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-25
      • 1970-01-01
      • 1970-01-01
      • 2018-06-01
      • 1970-01-01
      相关资源
      最近更新 更多