Сигнализация веб-страницы, когда поток ThreadPool завершен - PullRequest
0 голосов
/ 26 августа 2010

С веб-страницы я запускаю трудоемкую работу и обновляю ее статус в пользовательском интерфейсе с помощью webmethod.

Работа выполнена в потоке:

ThreadPool.QueueUserWorkItem(new WaitCallback(DoJob), parameters);

Задание задает свой статус, используя статические свойства, и когда веб-страница, используя javascript, вызывает веб-метод, она читает эти свойства.

 [System.Web.Services.WebMethod]
    public static ProcessStatus GetProgressStatus()
    {

        Jober.Lock.EnterReadLock();
        ProcessStatus st = new ProcessStatus(Jober.PercentageCompleted, Jober.TotalNumber);
        Jober.Lock.ExitReadLock();

        return st;
    }

Прогресс пользовательского интерфейса обновляется через javascript, проблема в том, что после завершения потока мне нужно обновить пользовательский интерфейс на стороне сервера, поэтому javascript здесь мне не поможет.

Как лучше всего сигнализировать о завершении потока?

1 Ответ

0 голосов
/ 08 сентября 2010

Вы говорите, что "прогресс пользовательского интерфейса обновляется через JavaScript".

Не могли бы вы просто перезагрузить страницу (используя JavaScript), когда Jober.PercentageCompleted == 100?

...