我知道有很多关于/ signalr / hubs文件夹的404错误的问题,我读了所有这些,但没有一个与我的问题有关。
因为通常我的代码在本地机器和测试服务器上工作;但相同的代码不适用于生产服务器。这会让我发疯,我试图回收应用程序池,重启IIS或w3svc服务,但没有帮助。
我的网站是一个安全的网站,我认为这可能会导致问题,但我找不到任何关于使用SSL运行SignalR的事情。
我的项目是ASP.Net Web窗体(网站),并在Windows Server V6.0(Build 6002,SP2)上的IIS 7上运行。应用程序池配置为使用.Net Framework版本4.0.30319
运行P.S:我有另一个https网站运行signalr没有任何问题。所以我很困惑。
编辑:我在同一台服务器上创建了另一个网站,并从工作服务器复制了工作代码并尝试了;结果是一样的。有关服务器或IIS的东西(可能是配置)。
解决方案: 这个solution也解决了我的问题。实际上我试过这个,但我得到500内部服务器错误并放弃了。无论这是什么解决方案,所以我想改变我的问题这个代码的目的是什么?为什么我的网站在没有这个修改的情况下在另一台服
答案 0 :(得分:2)
确保您托管站点的位置是信号器/集线器所指向的位置。一个常见的问题是人们会像这样主持他们的网站:
www.abcd.com/mysite/index.html
现在在这个例子中,SignalR托管在www.abcd.com/mysite/signalr但是很多人会将/ signalr / hub放在他们的index.html中,这是错误的。它应该是〜/ signalr / hubs,因为hubs文件不在www.abcd.com/signalr/hubs上托管,它位于www.abcd.com/mysite/signalr/hubs。
希望这有帮助!
答案 1 :(得分:0)
使用<script src="<%: ResolveUrl("~/signalr/hubs") %>"></script>
即可解决问题