gpt4 book ai didi

c# - SignalR 2.2.0 : client cannot call hub, 集线器未被调用

转载 作者:太空宇宙 更新时间:2023-11-03 13:07:12 25 4
gpt4 key购买 nike

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

<!--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中调用服务端的地方。这确实会被调用,但是 hub 永远不会被调用!

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
}
}
}

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

最佳答案

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

关于c# - SignalR 2.2.0 : client cannot call hub, 集线器未被调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30354992/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com