我想从Controller中的AJAX Action调用SignalR Hub方法,一切似乎都没有问题,但是执行代码时什么也没有发生,并且没有错误出现,
我在布局页面中放置了signalr-jquery,
那是我的全部代码
我搜索了2天,但找不到任何解决方案,我很累
布局页面:
<html>
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>@ViewBag.Title</title>
</head>
<body>
@RenderBody()
<script src="https://code.jquery.com/jquery-1.10.2.js"></script>
<script src="~/Scripts/jquery.signalR-2.2.1.min.js"></script>
<script src="/signalr/hubs"></script>
</body>
</html>
聊天控制器中的AJAX操作:
public class ChatController : BaseController
{
[HttpPost]
public async Task<ActionResult> AddChat(ChatVM model)
{
var context =
GlobalHost.ConnectionManager.GetHubContext<ChatHub>();
await context.Clients.All.receiveMessage(model);
// some code here
return PartialView("_Comment", chatList);
}
}
聊天中心:
public class ChatHub : Hub
{
}
“聊天”页面中的Javascript代码:
var onReceive = function (obj) {
alert("work right");
}
window.addEventListener('load', function () {
var chatHub;
chatHub = $.connection.chatHub;
chatHub.client.receiveMessage = onReceive;
$.connection.hub.start();
}, false);
没有错误消息出现