Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 404信号器/集线器和jquery脚本上的错误_C#_Asp.net_Iis 7_Http Status Code 404_Signalr - Fatal编程技术网

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

C# 404信号器/集线器和jquery脚本上的错误,c#,asp.net,iis-7,http-status-code-404,signalr,C#,Asp.net,Iis 7,Http Status Code 404,Signalr,我刚开始用C#使用signal,似乎很有趣 我创建了一个ASP.NET空Web应用程序,并遵循了下面提到的教程 我找到了关于MSDN的教程 我已经完成了教程中提到的所有步骤。当它在ASP.NET开发服务器上运行时,它似乎在我的本地计算机上工作 但是当我将项目部署到我的IIS7时,它就不起作用了 当我使用fiddler进行检查时,它在html页面中包含的所有脚本文件上的结果都是404 这是小提琴手所展示的 甚至我也从StackOverflow上的帖子中找到了一些建议,当我更改web.config文

我刚开始用C#使用
signal
,似乎很有趣

我创建了一个
ASP.NET空Web应用程序
,并遵循了下面提到的教程

我找到了关于MSDN的教程

我已经完成了教程中提到的所有步骤。当它在ASP.NET开发服务器上运行时,它似乎在我的本地计算机上工作

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

当我使用fiddler进行检查时,它在html页面中包含的所有脚本文件上的结果都是404

这是小提琴手所展示的

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

最后,我修改了我的
web.config

这是我的web.config文件:

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

</configuration>
我也变了

 <script type="text/javascript" src="/signalr/hubs"></script>
现在,
jQuery
脚本似乎也在加载和工作

以下是在IIS上托管时更新的错误消息,它来自浏览器窗口的
控制台
选项卡

SCRIPT5022: SignalR: Error loading hubs. Ensure your hubs reference is correct, e.g. <script src='/signalr/hubs'></script>.
SCRIPT5022:信号器:加载集线器时出错。确保您的集线器参考是正确的,例如。

您的IIS设置可能有问题。请尝试为.js扩展名添加MIME类型。请参阅此

404当IIS无法处理无扩展名url时,可能会发生错误


MSDN文章演示了如何在2.0版中创建Signal应用程序。但您使用的是Signalr1.0,可能是VisualStudio的旧版本。升级visual studio并使用nugget package manager将signalr 2.0需求添加到项目中。我认为作为第一次尝试,最好使用asp.net web应用程序而不是MVC(如MSDN文章所述)。这样就不会有路由问题了。我可以毫无问题地运行该示例。

请在此服务器上包括您的Global.asax.csDoes MVC工作?尝试添加RouteTable.Routes.IgnoreRoute(“脚本/”);为您的全球服务。asax@dfowler考虑到它的本地主机,我会这样假设。我不会做任何假设。这真的是一个肯定或否定的问题。SignalR在ASP.NET中使用路由,如果路由不起作用,那么MVC之类的东西也不会起作用(这就是问题所在)。
<script type="text/javascript" src='<%= ResolveClientUrl("~/signalr/hubs") %>'></script>
<script type="text/javascript" src='<%= ResolveUrl("~/signalr/hubs") %>'></script>
 RouteTable.Routes.IgnoreRoute("Scripts/");
SCRIPT5022: SignalR: Error loading hubs. Ensure your hubs reference is correct, e.g. <script src='/signalr/hubs'></script>.