为什么connection.hub.start()起作用,但client.all.notify为什么不起作用?
我的脚本
// signalr js code for start hub and send receive notification
var notificationHub = $.connection.notificationHub;
$.connection.hub.start().done(function () {
console.log('Notification hub started');
});
//signalr method for push server message to client
notificationHub.client.notify = function (message) {
if (message && message.toLowerCase() == "added") {
updateNotificationCount();
}
}
和
//Send Notification message to Client
var notificationHub = GlobalHost.ConnectionManager.GetHubContext<NotificationHub>();
notificationHub.Clients.All.notify("added");
代码Startup.cs
public class Startup
{
public void Configuration(IAppBuilder app)
{
app.MapSignalR();
}
}
除非我编写alterdatabase查询并与插入查询一起运行,否则我不会收到通知
insert into Contact(Name,Email,Phone,Message,SentDate,Sender) values (N'Test' ,'test@gmail.com','0123456', 'Hello World', GETDATE(), 'Admin')
ALTER DATABASE database SET ENABLE_BROKER WITH ROLLBACK IMMEDIATE ;
答案 0 :(得分:0)
我遇到了同样的问题,我使用了jQuery 3.5.1版,并将其更改为2.2.4,并且可以正常工作
答案 1 :(得分:0)
我遇到了同样的问题,并且意识到必须先添加客户端方法,然后再启动集线器。
您只需使用以下代码:
var notificationHub = $.connection.notificationHub;
notificationHub.client.notify = function (message) {
if (message && message.toLowerCase() == "added") {
updateNotificationCount();
}
}
$.connection.hub.start().done(function () {
console.log('Notification hub started');
});