找不到ScriptResource.axd 404

时间:2010-09-26 13:38:21

标签: asp.net-ajax

我在.NET 3.5中使用MS Ajax和jQuery UI。它在本地工作正常,但是当我在statging服务器上发布它时,它会给出一个'Sys'未定义的javaScript错误。经过调查,我发现.axd文件没有加载,而且是404。 我检查了web.confing,我有必要的条目。 我用谷歌搜索并阅读每篇文章,但无法找到解决方案。 以前有没有人像这样进入过这样的prblme?

6 个答案:

答案 0 :(得分:11)

我刚刚在IIS 6上使用我们的服务器遇到了它。它是通过确保在system.web部分(IIS7不同)来处理的。

<httpHandlers>
  <remove verb="*" path="*.asmx"/>
  <add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
  <add verb="GET" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler" validate="false"/>
</httpHandlers>

答案 1 :(得分:2)

我在web.config中有正确的设置,我通过更改IIS 8以在&#39; Classic&#39;中运行来修复此问题。模式而不是“集成”模式模式。

答案 2 :(得分:1)

这对我有用:

将以下处理程序添加到web.config:

<system.webServer>
<handlers>
<add name="ScriptResource" verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" preCondition="integratedMode" />

答案 3 :(得分:1)

在我的情况下,我在Web窗体应用程序中使用路由。以下步骤解决了我的问题。它很奇怪但它有效。它可能会帮助那些在Web表单中实现路由的人。 我的项目是.Net 4.5

  1. 我评论了/** * Attempts to return body as parsed `JSON` object, or raises an exception. */ json(): any { if (typeof this._body === 'string') { return JSON.parse(<string>this._body); } if (this._body instanceof ArrayBuffer) { return JSON.parse(this.text()); } return this._body; }
  2. 建立项目
  3. 取消注释: RouteConfig.RegisterRoutes(RouteTable.Routes);
  4. 建立项目
  5. 再次加载页面,更新面板的网页动画工作正常

答案 4 :(得分:0)

我还在托管的Web服务上看到了这种行为;本地版没有问题。在尝试了几十种system.web / httpHandlers和system.webServer / handlers语句之后,我终于放弃并尝试了创建虚拟ScriptResource.axd的最不优雅的解决方案 - 瞧,它有效!我猜测尽管在web.config中设置了'validate = false',但主机级别的IIS中仍有一些隐藏的验证设置。

答案 5 :(得分:0)

迁移到SmarterASP.Net后,我也遇到了同样的问题。

通过创建空文件ScriptResource.axd修复了该问题