我有一个ChatHub向客户发送消息:
public class ChatHub : Hub
{
public void Send(string name, string message)
{
Clients.All.addNewMessageToPage(name, message);
}
}
如何调用Send函数将消息从another controller
广播到所有客户端?
我试过这个:
[HttpPost]
public void Post(Chat chat)
{
var hubContext = GlobalHost.ConnectionManager.GetHubContext<ChatHub>();
hubContext.Clients.All.Send(chat.Name, chat.Message);
}
答案 0 :(得分:24)
您需要在addNewMessageToPage
操作方法中调用Post
。
var hubContext = GlobalHost.ConnectionManager.GetHubContext<ChatHub>();
hubContext.Clients.All.addNewMessageToPage(chat.Name, chat.Message);
然后在你的JS文件中:
var chatHub = $.connection.chatHub;
chatHub.client.addNewMessageToPage= function (name, message) {
//Add name and message to the page here
};
$.connection.hub.start();