Как работать с зависимостью таблицы SQL Server с помощью ASP.NET CoreC#

Место общения программистов C#
Ответить
Anonymous
 Как работать с зависимостью таблицы SQL Server с помощью ASP.NET Core

Сообщение Anonymous »

Контекст заключался в том, что зависимость таблицы SQL Server не работала, но мой SignalR работает нормально. Нет никакой ошибки, показывающей, что когда я изменяю некоторые данные через SSMS, срабатывает приведенный ниже код.

Код: Выделить всё

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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»