Signalr 从代码隐藏中调用集线器方法 Ajax 调用

Signalr Calling Hub Method from Code Behind Ajax Call

我是 运行 股票信号器示例,正在尝试修改代码并尝试一些不同的东西。我想要的是按下前端按钮调用 ajax 调用,然后从那里调用集线器方法。当我这样做时,我没有在我的集线器方法中遇到我的断点

前端代码更改:

$.connection.hub.start().done(function () {
$('#sendmessage').click(function () {
// Call the Send method on the hub.
$.ajax({

url: '/home/MyTest/',
type: "POST",
success: function () {
alert("done");
}, error: function (jqXHR, exception) {
alert("failed");
}

});
//chat.server.send($('#displayname').val(), $('#message').val());
// Clear text box and reset focus for next comment.
$('#message').val('').focus();
});
});

在HomeController.cs

[HttpPost]
public void MyTest()
{
var context = GlobalHost.ConnectionManager.GetHubContext<ChatHub>();
context.Clients.All.send("a","b");
}

ChatHub.cs

public class ChatHub : Hub
{
public void Send(string name, string message)
{
// Call the addNewMessageToPage method to update clients.
Clients.All.addNewMessageToPage(name, message);
}
}

服务器上的 Hub 方法没有执行...什么

var context = GlobalHost.ConnectionManager.GetHubContext<ChatHub>(); context.Clients.All.send("a","b");

意思是:在每个与集线器有 open/active 连接的客户端上,我正在调用 send 函数 在客户端。不在服务器上的集线器上。