从网页开始,我开始耗时的工作,并使用webmethod在UI上更新它的状态。
作业在一个主题中完成:
ThreadPool.QueueUserWorkItem(new WaitCallback(DoJob), parameters);
作业集的状态使用静态属性,当网页使用javascript调用web方法时,它会读取这些属性。
[System.Web.Services.WebMethod]
public static ProcessStatus GetProgressStatus()
{
Jober.Lock.EnterReadLock();
ProcessStatus st = new ProcessStatus(Jober.PercentageCompleted, Jober.TotalNumber);
Jober.Lock.ExitReadLock();
return st;
}
UI进度通过javascript更新,问题是线程完成后我需要在服务器端更新UI,所以javascript在这里不会帮助我。
线程完成时发出信号的最佳方式是什么?
答案 0 :(得分:0)
你说“UI进度通过javascript更新”。
当Jober.PercentageCompleted == 100时,你难道不能让页面重新加载(使用javascript)吗?