Отслеживание процесса одноэлементного процесса в веб-приложении - PullRequest
2 голосов
/ 26 января 2010

Когда я нажимаю кнопку запуска (в моем Default.aspx), начинается процесс (этот процесс связывается с веб-службой, чтобы получить некоторые файлы и т. Д.). Как мне:

  1. Убедитесь, что одновременно выполняется только один процесс (т. Е. Если я обновляю браузер, я не хочу запускать процесс второй раз)

  2. Отслеживание прогресса - есть 4 точки процесса (при 25%, 50%, 75%, 100%), которые я хочу отслеживать, и когда каждая часть завершается, я хочу обновить индикатор выполнения. У меня есть объект состояния для запущенного процесса, но вопрос в том, как автоматически обновить индикатор выполнения?

  3. Нужно ли использовать потоки для достижения вышеупомянутых двух?

1 Ответ

0 голосов
/ 26 января 2010

Отвечая на них в обратном порядке:

Да.И у вас должен быть объект для инкапсуляции вашего потока.

У вас может быть открытый член вашего объекта, который содержит% выполнения вашего процесса.Вы можете опрашивать это периодически.Вы можете сделать это со своей HTML-страницы, вероятно, с помощью AJAX-запроса, чтобы сделать индикатор выполнения максимально плавным.

Вам необходимо выполнить некоторую синхронизацию потоков.Может быть, через мьютекс. Вот хороший пример того, как это сделать (прокрутите вниз до Mutex).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...