gpt4 book ai didi

c# - 未找到 Signalr 集线器 404

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

我正在尝试将 Signalr 集成到我的 Web 表单项目中。

首先,使用 nugget 添加引用

  • Microsoft.AspNet.SignalR.Client;
  • Microsoft.AspNet.SignalR.Core;
  • Microsoft.AspNet.SignalR.System.Web;
  • Microsoft.Owin;
  • Microsoft.Owin.Host.SystemWeb;
  • Microsoft.Owin.Security;
  • 欧文

我的启动类:

[assembly: OwinStartup(typeof(ns.App_Code.Startup))]
namespace ns
{
public class Startup
{
public void Configuration(IAppBuilder app)
{
app.MapSignalR();
}
}
}

我的中心:

public class PositionHub : Hub
{
static ConcurrentDictionary<int, List<string>> connectedUsers = new ConcurrentDictionary<int, List<string>>();


public override Task OnConnected()
{


return base.OnConnected();
}

}

最后,客户端:

   <script type="text/javascript" src="Scripts/jquery-2.2.4.min.js"></script>
<script src="Scripts/jquery.signalR-2.3.0.min.js"></script>
<script src="<%= ResolveUrl("~/signalr/hubs") %>" type="text/javascript"></script>
<script type="text/javascript">

$(function() {

var logger = $.connection.positionHub;
logger.start();

});

</script>

此外,还向 web.config 添加了以下内容:

<add key="owin:AutomaticAppStartup" value="true" /> 

  <system.webServer>
<validation validateIntegratedModeConfiguration="false" />
<modules runAllManagedModulesForAllRequests="true" />

当我运行该应用程序时,出现 404 错误: 获取 http://localhost:41363/signalr/hubs 404(未找到)

这不是我第一次使用 signalr,但这是我第一次遇到这个问题,并且一直在努力解决它,但没有运气......

最佳答案

我注意到您没有安装将 SignalR 与 Javascript 集成时所需的以下 NuGet 包。

  • Microsoft.AspNet.SignalR
    此包引入了在 ASP.NET 应用程序中使用 SignalR 所需的服务器组件和 JavaScript 客户端

  • Microsoft.AspNet.SignalR.JS
    ASP.NET SignalR 的脚本客户端
    (这个由上面的 Microsoft.AspNet.SignalR 自动包含。)

编辑

通过下面的评论,我们发现 OP 的 web.config 文件包含一些 url 重写规则,这些规则拦截了 /signalr/hubs url。

添加一个规则来防止这个 url 被重写解决了这个问题。

<rule name="signalR" enabled="true" stopProcessing="true"> 
<match url="^signalr.*" /> <action type="None" />
</rule>

关于c# - 未找到 Signalr 集线器 404,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51845412/

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