Фоновая служба ядра asp.net для отправки данных через signalr

Я использую signalR для отправки данных клиентам с сервера. Я хочу проверить данные в таблице (база данных MSSQL) и отправить соответствующие данные клиентам через signalR. Итак, я хочу создать фоновую службу для проверки базы данных и отправки данных.

Я планировал использовать

System.Threading.Thread.Sleep(3000);

с участием

while(true) 

петля. Как я могу создать класс обслуживания для запуска этого метода при запуске.

Есть ли какой-либо метод, который можно использовать для выполнения этой задачи стандартным способом?

2
0
3 655
1

Ответы 1

Для этого вы можете использовать IHostedService и IHubContext.

См. Документ о фоновых службах с ASP.NET Core:

https://docs.microsoft.com/en-us/aspnet/core/fundamentals/host/hosted-services?view=aspnetcore-2.1

См. Документ на IHubContext:

https://docs.microsoft.com/en-us/aspnet/core/signalr/hubcontext?view=aspnetcore-2.1

Вот пример использования обоих вместе:

https://github.com/davidfowl/UT3/blob/fb12e182d42d2a5a902c1979ea0e91b66fe60607/UTT/Scavenger.cs

И провод:

https://github.com/davidfowl/UT3/blob/fb12e182d42d2a5a902c1979ea0e91b66fe60607/UTT/Startup.cs#L46

Другие вопросы по теме