SignalR连接回调未触发

hel*_*rld 1 signalr

我在MVC3应用程序中尝试signalR 1.1.0.我已经覆盖OnConnected方法,如下所示:

    public class MyHub : Microsoft.AspNet.SignalR.Hub
{

    public static List<string> Connections = new List<string>();
    public override System.Threading.Tasks.Task OnConnected()
    {
        Connections.Add(this.Context.ConnectionId);
        return base.OnConnected();
    }
}
Run Code Online (Sandbox Code Playgroud)

在Js,我跟随:

  $(function () {
    $.connection.hub.start();
    $.connection.myHub.client.connected = function() {
         alert(1);
    };
   });
Run Code Online (Sandbox Code Playgroud)

当我加载我的页面时,服务器上的OnConnected确实在调试模式下被命中,但JS回调"alert(1)"从未执行.浏览器上没有JS错误.我哪里错了?谢谢!

dav*_*owl 7

在调用start之前,您需要订阅集线器:

$(function () {
    $.connection.myHub.client.something = function() {

    };

    $.connection.hub.start().done(function() {
        alert('I'm connected!');
    });
}
Run Code Online (Sandbox Code Playgroud)

查看javascript API的文档:http: //www.asp.net/signalr/overview/hubs-api/hubs-api-guide-javascript-client