Код: Выделить всё
private void TableDependency_OnChanged(object sender, TableDependency.SqlClient.Base.EventArgs.RecordChangedEventArgs e)
{
if (e.ChangeType != TableDependency.SqlClient.Base.Enums.ChangeType.None)
{
announcementHub.NotifyAnnouncement();
}
}
Код: Выделить всё
public async Task NotifyAnnouncement()
{
await Clients.All.SendAsync("ShowAnnouncement");
}
Код: Выделить всё
const connection = new signalR.HubConnectionBuilder()
.withUrl("/resident/home")
.build();
connection.start().then(function () {
alert('Connected to home');
}).catch(function (err) {
return console.error(err.toString());
});
connection.on("ShowAnnouncement", function () {
toastr.info("something new");
updateAnnouncement();
});
Код: Выделить всё
await _hubContext.Clients.All.SendAsync("ShowAnnouncement");
Я не знаю, следует ли мне вызывать контроллер в коде SqlTableDependency или можно ли это сделать, чтобы он отражался на на стороне клиента?
Я новичок в использовании SignalR и SqlTableDependency. Надеюсь, вы поняли, спасибо.
Я уже включил is_broker в ssms.
Подробнее здесь: https://stackoverflow.com/questions/790 ... p-net-core
Мобильная версия