#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