嘿大家,我有一个.net 4应用程序,我刚刚部署到生产中。应用程序加载很好,除了我引用的js文件没有正确加载。使用fiddler我发现ScriptResource.axd调用返回404错误。
继承人,该页面也通过WebResource.axd进行调用,该请求正常。
我能检查的任何想法?运行IIS7。它是负载平衡的,但我们在配置中有machinekeys。我为scriptresource.axd添加了一个httpHandlers部分..但我仍然有同样的问题..难倒......
更新 - 我们认为ou websrver不知道axd文件是什么。是否有任何.net安装将在iis中安装axd映射?
答案 0 :(得分:9)
根据此博客,需要将处理程序添加到system.webserver:http://geekswithblogs.net/lorint/archive/2007/03/28/110161.aspx
感谢@Uwe Keim的帮助
答案 1 :(得分:4)
我今天遇到了同样的问题,但这是由重写规则引起的,该规则正在重写来自/ScriptResource.axd' to
/ some_application / ScriptResource.axd'的请求,该请求不是有效目标。将规则更正为忽略.axd
的网址解决了问题。
答案 2 :(得分:3)
这对我有用:
将以下处理程序添加到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 :(得分:2)
“404”也可能意味着(在某些条件下)“未启用”或“不允许”。我有一段时间回到服务器上并且必须启用一些扩展。
另一种方法是使用Process Monitor查看IIS进程是否正在搜索真实文件但未找到。
答案 4 :(得分:2)
Link也具有良好的WebResource.axd背景信息,即使它不能直接解决您的问题。不幸的是,我的问题WebResource.axd 404问题只在Fiddler运行时发生(!),但这是一个单独的问题而不是发布的问题。
享受! - Zephan
答案 5 :(得分:2)
检查服务器上的时间是否未在网站发布之前设置。
答案 6 :(得分:2)
对我来说,所有AXD文件都失败了。花了一整个星期后,尝试在互联网上找到的每个答案,没有运气:
我创建了空文件ScriptResource.axd
和WebResource.axd
,它解决了这个问题。我很想知道真正的问题是什么。
答案 7 :(得分:1)
我遇到了这个问题。上述解决方案对我没有用,但是this page的评论是什么呢?
如果您的web.config文件不在根文件夹中,或者该文件夹不是IIS中的应用程序,则会出现此问题。
我通过将web.config文件复制到网站的根文件夹来解决它。
答案 8 :(得分:1)
对我来说,问题是我的服务器被设置为错误的时间。它的日期设定为2012年6月12日,而不是2013年6月21日。修正了日期和噗!它开始工作:)
答案 9 :(得分:0)
这可以通过两种方式解决。一种是在使用HttpHandlers设置时将IIS7应用程序池设置管理管道模式设置为Classic。如果IIS7和/或IIS7 Express必须使用Integrated而不是Classic,那么我们需要使用system.webServer.handlers设置,并将precondition属性设置为集成模式。
将一些旧的Web应用程序迁移到云托管环境时,这是一个常见问题。有关详细信息,请参阅此文章:
http://www.ozkary.com/2015/12/404-error-axd-http-handler.html
希望它有所帮助。
答案 10 :(得分:0)
添加即可解决
<system.webServer>
<handlers>
<add name="ScriptResource" preCondition="integratedMode" verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
答案 11 :(得分:0)
花费4个小时后,我在asp.net 4.0上发现了一个名为EnableCdn的新属性,基本上,如果将其设置为“ true”,它将从Microsoft内容资源服务器中加载资源。
<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePartialRendering="true"
ScriptMode="Release" AsyncPostBackTimeout="600" EnablePageMethods="true" EnableCdn="true" />
答案 12 :(得分:0)
这是我的情况:我在Web根目录上有URL重写规则,并且正在发布到根目录下的应用程序,该应用程序继承了URL重写规则,该规则将所有.axd请求重定向到其他地方。从IIS管理器禁用应用程序文件夹中的重写规则对我来说解决了这个问题。
答案 13 :(得分:0)
我遇到了同样的问题,这是由url重写模块引起的。我评论了
<system.webServer>
<modules>
<add name="UrlRewriteModule" type="UrlRewritingNet.Web.UrlRewriteModule, UrlRewritingNet.UrlRewriter" />
并且站点加载了Web和脚本resource.axd。