SignalR 2.2.0:客户端无法调用集线器,集线器未被调用

SignalR 2.2.0: client cannot call hub, hub doesn't get called

一切正常,现在不行了 :) 我一直在查看我的源代码管理,但我无法弄清楚哪里出了问题。我没有收到错误,并且在调试时无法找出问题所在。调用集线器的客户端命令被调用,但集线器永远不会被调用。不知道为什么。

<!--Reference the SignalR library. -->
<script src="~/Scripts/jquery.signalR-2.2.0.min.js"></script>
<!--Reference the autogenerated SignalR hub script. -->
<script src="~/signalr/hubs"></script>

/signalR/hubs 脚本确实生成了。

它曾经与我目前使用 NuGet 安装的以下软件包一起使用(我尝试重新安装它们)

Microsoft ASP.NET SignalR Core Components
Microsoft ASP.NET SignalR JavaScript Client
Microsoft ASP.NET SignalR System.Web
Microsoft ASP.NET SignalR
Microsoft.Owin.Host.SystemWeb
Microsft.Owin.Security
Microsoft.Owin
OWIN

UpdateInstallProgress(string installID) 永远不会被调用:(

namespace RealtimeInstaller.Hubs
{
    public class UpdateInstallHub : Hub
    {
        public void UpdateInstall()
        {
            Clients.All.updateInstall();
        }

        public void UpdateInstallProgess(string installID)
        {
            Clients.All.updateInstallProgess(installID);
        }
    }
}

下面是客户端在JS中调用服务端的地方。这确实会被调用,但是集线器永远不会被调用!

connection.server.updateInstallProgess(@ViewBag.installID);

不用担心正文中的内容,下面是永远不会被调用的客户端JS代码!这是因为集线器永远不会被调用来调用此客户端代码。

    var connection = $.connection.updateInstallHub;  

    connection.client.updateInstallProgess = function (installID) {
        //code that never gets called :(
    };

下面是Startup.cs

using Owin;
using Microsoft.Owin;
[assembly: OwinStartup(typeof(SignalRChat.Startup))]
namespace SignalRChat
{
    public class Startup
    {
        public void Configuration(IAppBuilder app)
        {
            // Any connection or hub wire up and configuration should go here
            app.MapSignalR();       //mapping the SignalR hubs to the http routes
        }
    }
}

为什么没有调用集线器?我怀疑它与我的 packages/references 有关,但除了重新安装我之前提到的软件包之外,我不确定如何修复它。任何想法都将不胜感激!

在您显示的 js 代码中,您似乎没有启动连接。