0

从网页开始,我开始一项耗时的工作,并使用 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在这里帮不了我。

线程完成时发出信号的最佳方式是什么?

4

1 回答 1

0

您说“UI 进度是通过 javascript 更新的”。

当 Jober.PercentageCompleted == 100 时,你不能让页面重新加载(使用 javascript)吗?

于 2010-09-08T11:35:29.547 回答