signalr : hubContext.Clients.All.notify(message)
在控制器中不起作用。
在控制器中,我有:
IHubContext hubContext = GlobalHost.ConnectionManager.GetHubContext<Hubs.GlobalHub>();
hubContext.Clients.All/*Others*/.notify("sfsd");
上面的代码没有调用notify
方法。
在JQuery中,我有以下代码:
$(function () {
@ signalR startup @
var globalHub = $.connection.globalHub;
$.connection.hub.logging = @(System.Diagnostics.Debugger.IsAttached.ToString().ToLower());
$.connection.logging = @(System.Diagnostics.Debugger.IsAttached.ToString().ToLower());
$.connection.hub.error(function(error){
alert('SignalR Error: ' + error);
});
$.hubConnection().error(function(error){
alert('SignalR Error: ' + error);
});
globalHub.client.notify = function (msg) {
var notification = $("#signalrNotification").data("kendoNotification");
alert(1);
notification.show(msg);
console.log(msg);
};
var hubStart = $.connection.hub.start();
hubStart.done(function(){
// Using done ensures the connection is established before
// the event handlers execute
$("#sayhello").click(function(){
globalHub.server.hello();
});
});
window.hubStart = hubStart;
window.globalHub = globalHub;
});