0

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();
4

1 に答える 1