获取' ConnectionId的格式不正确'当混合应用程序连接到SignalR Hub时

时间:2016-06-09 19:44:12

标签: asp.net-web-api ionic-framework signalr

我在网上做了很多研究,但无法找到解决方案。我在WebAPI后端创建了一个SignalR集线器并启用了CORS功能。

我还有一个客户端(Ionic)应用程序尝试连接到SignalR中心进行实时聊天。问题是,当Hybrid应用程序尝试连接到SignalR中心时,我正在

  

ConnectionId的格式不正确。

我在SignalR Hub上获得OnDisconnected事件,但不是OnConnected事件!

这是我的客户代码(离子):

  • localhost:64965 / signalr是我的SignalR中心
  • SignalR Proxy也在localhost:64965 / signalr / hubs
  • 上生成
var signalr_chatHub = $.connection.ChatHub;

signalr_chatHub.client.welcomeMessage = function (message) {
      console.log('WelcomeMessage', message);
};

$.connection.hub.url = "http://localhost:64965/signalr";
$.connection.hub.logging = true;

$.connection.hub.start().done(function () {
      console.log('signal connection connected');
}).fail(function (err) {
      console.log('Could not Connect!', err);
});

Chrome控制台错误:

chrome console errors

public class ChatHub : Hub<IChat>
{
    public override Task OnConnected()
    {
        var connectionId = Context.ConnectionId;

        return base.OnConnected();
    }

    public override Task OnDisconnected(bool stopCalled)
    {
        var connectionId = Context.ConnectionId;

        return base.OnDisconnected(stopCalled);
    }

    public override Task OnReconnected()
    {
        return base.OnReconnected();
    }

    public void WelcomeMessage()
    {
        Clients.All.NewMessage("Welcome");
    }
}