Запустите системный таймер, если решение ASP. NET размещено на IIS. - PullRequest
0 голосов
/ 26 апреля 2020

Я создал MVC ASP. NET Стандартное (не. NET Core) решение и добавил к нему System.Timers.Timer. Я запустил таймер в Global.asax.cs перед регистрацией служб.

После размещения таймер не запускается, пока клиент не заходит на веб-сайт, даже если я включаю таймер в Application_Start, где функция будет инициируйте и подключите таймер следующим образом:

// Create a timer with a two second interval.
aTimer = new System.Timers.Timer(intervalInMiliseconds);
// Hook up the Elapsed event for the timer. 
aTimer.Elapsed += OnTimedEvent;
aTimer.AutoReset = true;
aTimer.Enabled = true;

Мой вопрос: где мне запустить таймер, если я хочу, чтобы он запускался независимо от того, были ли подключенные пользователи или нет? Могу ли я сделать это с помощью ASP. NET Standard или мне следует использовать. NET Core?

Мой сценарий заключается в том, что я создам Windows службу, которая будет содержать концентратор SignalR и будет периодически отправить сообщение всем подключенным пользователям. Я хотел бы сделать то же самое с IIS.

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