JAG*_*JAG 4 c# asp.net-mvc jquery signalr
我有一个SignalR中心,我成功地从JQuery调用.
public class UpdateNotification : Hub
{
public void SendUpdate(DateTime timeStamp, string user, string entity, string message)
{
Clients.All.UpdateClients(timeStamp.ToString("yyyy-MM-dd HH:mm:ss"), user, entity, message);
}
}
Run Code Online (Sandbox Code Playgroud)
这样从JS成功发送的更新消息
var updateNotification = $.connection.updateNotification;
$.connection.hub.start({ transport: ['webSockets', 'serverSentEvents', 'longPolling'] }).done(function () { });
updateNotification.server.sendUpdate(timeStamp, user, entity, message);
Run Code Online (Sandbox Code Playgroud)
并成功收到了
updateNotification.client.UpdateClients = function (timeStamp, user, entity, message) {
Run Code Online (Sandbox Code Playgroud)
我无法弄清楚如何从我的控制器中调用sendUpdate.
从您的控制器,在与集线器相同的应用程序中(而不是从其他地方,作为.NET客户端),您可以像这样进行集线器调用:
var hubContext = GlobalHost.ConnectionManager.GetHubContext<UpdateNotification>();
hubContext.Clients.All.yourclientfunction(yourargs);
Run Code Online (Sandbox Code Playgroud)
请参阅位于https://github.com/SignalR/SignalR/wiki/Hubs脚下的集线器外部的集线器广播
调用自定义方法有点不同.也许最好建立一个静态方法,然后你就可以用它来调用hubContext,因为OP在这里有:服务器到客户端的消息不与SignalR在ASP.NET经历MVC 4
| 归档时间: |
|
| 查看次数: |
10144 次 |
| 最近记录: |