фоновый поток работает с интервалами - PullRequest
1 голос
/ 30 ноября 2011

Я запускаю веб-приложение .net и мне нужно прочитать данные из XML-файлов и поместить их в кэш. Мне нужно проверять файлы каждые пять минут. Я обдумываю, какой вариант лучше. Должен ли я запустить поток в global.asax или создать HttpModule?

Ответы [ 2 ]

2 голосов
/ 30 ноября 2011

Прежде всего, прочитайте это http://haacked.com/archive/2011/10/16/the-dangers-of-implementing-recurring-background-tasks-in-asp-net.aspx

После этого я действительно рекомендую попробовать Haackeds WebBackgrounder, который можно найти на https://github.com/NuGet/WebBackgrounder

1 голос
/ 30 ноября 2011

Создание длинных потоков внутри веб-приложения не очень хорошая идея. Довольно простой и эффективный подход - создать страницу, которая будет служить точкой входа для вашего кода чтения данных. Затем просто добавьте wget http://localhost/yourpage в планировщик задач с соответствующим интервалом. wget загрузит вашу страницу и начнет процесс импорта.

...