scriptresource.axd 404 error in asp net 4 application - webresource works fine though

懵懂的女人 提交于 2019-11-30 11:16:53

"404" could also mean (under certain conditions) a "Not enabled" or "not allowed". I had that some time back on a server and had to enable some extension.

Another way would be to use Process Monitor to see whether real files are being searched by the IIS process and not found.

Looks like handlers needed to be added to system.webserver, per this blog: http://geekswithblogs.net/lorint/archive/2007/03/28/110161.aspx

Thanks for the assistance @Uwe Keim

I had the same issue today, but it was caused by a rewrite rule that was rewriting the request from /ScriptResource.axd' to/some_application/ScriptResource.axd', which wasn't a valid target. Correcting the rule to ignore urls with .axd resolved the issue.

This worked for me:

Add the below handler to your 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" />

For me, all AXD files were failing. After spending an entire week, trying every answer found on Internet, with no luck:

I created empty files ScriptResource.axd and WebResource.axd, and it solved the issue. I would love to know what the real issue was.

Two possible solutions from http://blogs.msdn.com/b/carloc/archive/2008/12/04/webresource-axd-or-scriptresource-axd-not-working.aspx:

  1. IIS Compression is causing the WebResource.axd requests to fail. Disable compression for the IIS web app and try again.
  2. Web.config for IIS root or specific app has ScriptMaps set to validate *.axd or WebResource.axd is a real file (which it is not). Read the link for fix steps (at least for IIS6 :-)).

Link also has good WebResource.axd background info even if it doesn't directly solve your problem. My problem WebResource.axd 404 problem unfortunately occurs only when Fiddler is running (!), but that is a separate question than the one posted.

Enjoy! -Zephan

Check that the time on the server is not set to before the time the site was published.

I ran into this problem. The above solutions didn't work for me, but what did work was a comment from this page:

This problem comes if your web.config file is not in root folder or the folder is not an application in IIS.

I solved it by copying the web.config file to the root folder of the website.

For me the issue was my server was set to the wrong time. It's date was set to 6/12/2012 instead of 6/21/2013. Fixed the date and poof! it started working :)

This can be resolved in two ways. One is to set IIS7 application pool setting Manage Pipeline Mode to Classic when using the HttpHandlers setting. If IIS7 and/or IIS7 Express must use Integrated instead of Classic, then we need to use the system.webServer.handlers settings with the precondition attribute set to integrated mode.

This is a common problem when moving some older web apps to cloud hosted environments. For more details see this article:

http://www.ozkary.com/2015/12/404-error-axd-http-handler.html

Hope it helps.

Solved it by adding

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

After spending 4 hours I found a new property on asp.net 4.0 called EnableCdn that basically, if it's set to "true", it loads the resources from the Microsoft content resource servers.

<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePartialRendering="true" 
        ScriptMode="Release" AsyncPostBackTimeout="600" EnablePageMethods="true" EnableCdn="true" />

This is my case: I have URL rewrite rules on the web root and I am publishing to an application under the root, which inherits the URL rewrite rules, which redirected all .axd requests to somewhere else. Disabling the rewrite rule in the application folder from IIS manager solved the problem for me.

Amila

I had the same issue and it was caused by the url rewriting module. I commented

<system.webServer>  
<modules>
<add name="UrlRewriteModule" type="UrlRewritingNet.Web.UrlRewriteModule, UrlRewritingNet.UrlRewriter" />

and site loaded the web and script resource.axd.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!