Я узнаю об асинхронных операциях в ASP.NET. Я нашел статью здесь MSDN. Код работает, но я хочу иметь возможность обновлять пользовательский интерфейс в течение длительного процесса. Он показывает результат только после завершения процесса. Я использую тот же код для AsyncClass, как в упомянутой ссылке. Вот код:PageAyncTask Update UI
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();