Реализация уведомлений в веб-приложении на стороне сервера Blazor

#blazor-server-side

#Blazor-на стороне сервера

Вопрос:

Как я могу добиться уведомления в моем веб-приложении на стороне сервера Blazor с помощью Azur SQL server. Всякий раз, когда в таблице базы данных появлялась новая запись, я хочу показывать уведомления на своей веб-странице всем пользователям или конкретному пользователю.

Ответ №1:

Да, это возможно, но требует «пользовательской» реализации функции. Это не огромная задача, вам нужен только канал WebSocket для отправки сообщений. Поскольку у вас есть Blazor на стороне сервера, он уже выполняет это с помощью концентраторов SignalR (дополнительная функциональность через WebSocket).

Вот некоторые документы MS для Blazor SignalR (часть кода уже будет в вашем приложении, поскольку оно является сторонним Blazor).

 hubConnection.On<string>("TableUpdate", (tableName) =>
{
    //Prompt some Alert, or Notifications here...
    StateHasChanged();
});
 

После настройки подключения к концентратору вы можете отправлять обновления статуса клиентам (всем Clients.All.SendAsync() или некоторым клиентам Clients.User(userId) ). Вы можете использовать этот Nuget, также доступны документы и демо. Для запроса одного из следующих уведомлений:

  • Оповещения
  • Всплывающие сообщения
  • Уведомление HTML5