Я хотел бы создать относительно простую функцию планирования событий на веб-сайте MVC для функций приложения, не обязательно для пользователей в настоящее время, но может быть в будущем.Мое текущее желание состоит в том, чтобы использовать расписание, чтобы вызвать определенные изменения на веб-сайте на основе временных событий.Общая идея показана ниже в конце поста.
Сначала я исследовал Quartz для asp.net, потому что он был рекомендован для других постов, но совет в этом пакете с открытым исходным кодом специально рекомендовал не использовать его ввстроенный режим.Я не думаю, что смогу добавить его в качестве службы на сервер, на котором размещен сайт MVC.
Хотя я знаком с концепцией многопоточности, я не знаком с этим.Является ли выполнение процесса таймера ниже в фоновом потоке хорошим решением, или я должен смотреть на что-то еще?Я предполагал, что процесс таймера будет просто выполняться вечно, сравнивая расписание с системными часами и вызывая запуск необходимого кода события при возникновении триггера времени.
Если многопоточность - плохая идея, пожалуйста, сообщите, где мне следует искать.Если многопоточность - правильная идея, любые предложения или предупреждения будут оценены.Я читаю на тему потоков в это время.
У меня есть несколько конкретных вопросов:
1) Should the individual event code run on the same thread, or does it matter?
2) How do I handle the problem others have suggested occurs if 'IIS kills the thread' or the 'app pool is recycled'.
3) Is it a wrong idea that I send some message to the MVC site that triggers the Timer Process to overcome the issues in #2 above?
4) Is there a way to force a page to automatically refresh with a new display when the timer event occurs? That doesn't seem to be the way asp.net MVC normally works.
Наконец, это звучало как проблема, которую другие, вероятно, решили, и свел к решению с открытым исходным кодом для asp.net MVC.Когда я просматриваю Nu-Get, некоторые, похоже, описывают эту проблему, но их очень мало скачивают.Любые рекомендации по этому маршруту?