c# - 信号器/集线器和 jquery 脚本上的 404 错误

标签 c# asp.net iis-7 http-status-code-404 signalr

我刚刚开始将 SignalR 与 C# 结合使用,看起来很有趣。

我创建了一个 ASP.NET 空 Web 应用程序 并按照下面提到的教程进行操作

我找到了 Getting Started with SignalR MSDN 上的教程。

我已经完成教程中提到的所有步骤。当它在 ASP.NET Development Server 上运行时,它似乎可以在我的本地计算机上运行。

但是当我将项目部署到我的 IIS7 时,它不起作用。

当我检查 fiddler 时,html 页面中包含的所有脚本文件的结果都是 404。

这是 fiddler 显示的内容 enter image description here

即使我从 StackOverflow 上的帖子中找到了一些建议,当我也更改 web.config 文件时,这些建议似乎也不起作用。

最后我根据 FAQ's of SignalR 修改了我的 web.config .

这是我的 web.config 文件:

<configuration>
  <system.web>
    <compilation debug="true" targetFramework="4.0" />
  </system.web>
  <system.webServer>
    <modules runAllManagedModulesForAllRequests="true">
    </modules>
  </system.webServer>

</configuration>

Global.asax 文件:

public class Global : System.Web.HttpApplication
    {

        protected void Application_Start(object sender, EventArgs e)
        {
            // Register the default hubs route: ~/signalr/hubs 
            RouteTable.Routes.MapHubs();
        }
        // Rest of the Methods(Session_Start,Application_BeginRequest..) are empty
     }

我也变了

 <script type="text/javascript" src="/signalr/hubs"></script>

<script type="text/javascript" src='<%= ResolveClientUrl("~/signalr/hubs") %>'></script>

<script type="text/javascript" src='<%= ResolveUrl("~/signalr/hubs") %>'></script>

它们似乎都不起作用。

如果需要任何信息,请随时询问。

任何帮助将不胜感激


更新

根据 Aron 的建议,对 Global.asax 文件进行了以下更改

 RouteTable.Routes.IgnoreRoute("Scripts/");

现在,jQuery 脚本似乎也在加载和工作。

这是在 IIS 上托管时更新的错误消息,它来自浏览器窗口的 Console 选项卡。

SCRIPT5022: SignalR: Error loading hubs. Ensure your hubs reference is correct, e.g. <script src='/signalr/hubs'></script>.

最佳答案

您的 IIS 设置可能有问题。请尝试为 .js 扩展名添加 MIME 类型。引用这个link

关于c# - 信号器/集线器和 jquery 脚本上的 404 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15243245/

相关文章:

iis-7 - IIS 仅在特定文件夹上要求登录凭据

javascript - 带有 If-Modified 的 XmlHttpRequest,因为网络服务器返回 "400 Bad Request"

c# - WPF。列表框。如何将所选项目的最大值限制为 2?

c# - Windows 7 边栏小工具

c# - 我正在尝试从尚未使用 LINQ 创建具有特定属性的附加对象的用户列表中创建新的用户列表

asp.net - 如何在 C# 中重命名文件

c# - 通过后台 worker 控制获取局域网上的 IP 地址

C# 在事件开始时,开始另一个事件

asp.net - asp 文本框可见属性在代码隐藏中始终为 true

asp.net - http 服务 503 不可用 仅适用于 HTTPS