Как можно выполнить фоновые задачи из библиотеки в приложении ASP.NET MVC 5 - PullRequest
0 голосов
/ 21 июня 2019

В своей работе мы создаем веб-приложения, основанные на общем классе Enterprise. У этого класса есть метод, который отправляет запрос на наш сервер каждый раз, когда срабатывает событие app_start или app_end, чтобы мы могли отслеживать состояние удаленно. Но теперь мы требуем, чтобы веб-приложение по крайней мере один раз в день сообщало о своем состоянии, что-то вроде телеметрии. Я не знаю, как этого добиться, пока я нашел несколько вариантов, но у некоторых есть ограничения:

  1. Используйте Hangfire. Мне это не нравится, поскольку для этого требуется настроить базу данных или добавить дополнительные таблицы и установить новый пакет Nuget для каждого проекта, но это может быть моим последним вариантом.

  2. Используйте службу Windows, которая читает базы данных. Это может быть меньше работы, но он не может получить доступ к веб-приложению код web.config

  3. Используйте задачи Javascript, которые отправляют запрос AJAX. Это требует наличия открытого веб-браузера и представляет большой риск.

Я ищу подход на стороне сервера, который мог бы позволить запускать событие или функцию в 1:00.

Ответы [ 2 ]

0 голосов
/ 21 июня 2019

Вы можете использовать FluentScheduler вместо Hangfire (он более легкий).

Вместо задачи Javascript, отправляющей запрос AJAX, вы можете использовать WebJob или функция Azure .

0 голосов
/ 21 июня 2019

Я бы получил с Hangifire.

Он очень прост в настройке и очень надежен.Вам не нужно настраивать базу данных, возможно, вы захотите проверить объем памяти:

https://github.com/perrich/Hangfire.MemoryStorage

Также проверьте:

Что эквивалентноCRON вакансии в ASP.NET?- C #

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