2010-09-26 85 views
5

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

回答

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> 
+2

事实证明,有一个URLRewriter安装PHP和那是拦截电话。所以我们删除它,然后事情工作正常。 – Shuaib 2010-10-13 02:39:06

0

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

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" /> 
2

我在web.config中正确的设置,我改变了IIS 8运行修复问题在'经典'模式而不是'集成'模式。

1

在我的情况下,我在Web窗体应用程序中使用路由。以下步骤为我解决了这个问题。它的奇怪,但它的工作。它可以帮助已经在Web表单中实现路由的人。 我的项目是.NET 4.5

  1. 我评论RouteConfig.RegisterRoutes(RouteTable.Routes);
  2. 建项目
  3. 未注释:RouteConfig.RegisterRoutes(RouteTable.Routes);
  4. 再次
  5. 加载页面生成的项目和网页动画更新面板是工作罚款
+0

我有同样的问题。无法弄清楚,所以我长时间孤单地离开了ajaxcontroltoolkit。我回来使用组合框,并看到所有这些404错误。我删除了我的web.config中的路由重写代码,该代码被实现为从url栏中删除.aspx,并且它工作正常。 – 2017-09-15 17:31:39