Welcome to Vortx Community Forum, where you can ask questions and receive answers from the staff at Vortx and other members of the community.

If you had a user account on our previous forums website, you will need to register a new account here.

Learn more about...

AspDotNetStorefront
DotFeed

ScriptResource.axd, WebResource.axd 404 errors

Version: MS 9.2.0.0

I keep seeing 404 errors for requests to ScriptResource.ax and WebResource.axd whenever I run a test over at webpagetest.org. I don't see these errors when I monitor the network through the browser developer tools, though.

There are no errors in the system log.

I have decoded the query strings on the individual requests and they are for the following three files: MicrosoftAjax.js, WebForms.js, and MicrosoftAjaxWebForms.js. These files are present in my root directory and in a folder /jscripts/, and the /jscripts/ location is registered in the MasterPageBase.cs file. My RootPage.master should only be loading these resources if needed, as shown in the excerpt below.

        <%  if (RequireScriptManager)
            { %>
        <%-- Only render for pages that require ajax --%>
        <asp:ScriptManager ID="scrptMgr" runat="server">
        </asp:ScriptManager>
        <% } %>

I have done a number of web searches for this issue, but none of the presented solutions seem to be resolving my issue.

Using the IIS 7 Manager, I have set a Handler Mapping:

  • Request path: ScriptResource.axd
  • Type: System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, version=3.5.0.0, Culture=neutral,...

Explicity allowed .axd files in Request Filtering

Disabled http compression

Tried switching the App Pool to ClassicMode (it's currently back to Integrated Mode)

Defined the MIME Type for *.axd as "application/octet-stream"

 

I am only seeing these errors on my production site, when I run tests on my development and staging instances I do not get the errors. The codebase between my staging and production environments are identical. My development and staging instances are not housed on the same server, separate from production, so it's possible that there is some deeper configuration issue, but I am not sure how to identify or address it.

I welcome any assistance you all can provide.

asked Nov 20, 2013 in General by Chris (3,685 points)

2 Answers

0 votes
 
Best answer
I think I've finally discovered the source of this.

I'm running three servers in a load-balanced configuration, but each of those servers was configured to generate its own machineKey.

I was tracking down another issue that was being raised in the server Event Viewer about authentication tickets being invalid, which it turns out was caused by this configuration.

I generated a static machineKey, assigned it to all three servers in the app's web.config, and now I'm not seeing the 404s on .axd resources any more.
answered Feb 12, 2014 by Chris (3,685 points)
+1 vote
are you precompiling the site?

is it using .net 4.0?

did you check permissions (i'm sure you did...just have to ask)

 

my guess. you have a different database that you are using and didn't update it to the latest version. i've had that happen.
answered Nov 20, 2013 by Mikecali (1,525 points)
It is not precompiled.

We're on .NET 3.5 because of some 3rd-party vendor requirements.

In the spirit of taking any offered advice, I double-checked the folder permissions for the site root on the two servers and they were different.

I just happened to have an old version of my site on my production servers, and it's permissions (not surprisingly) matched the current folders. I was seeing these errors when that old code (only about a month old) was in production. I guess this is what happens when you inherit other people's stuff.

I expanded the folder permissions for IIS-IUSRS and am not seeing the 404s on ScriptResource anymore, but now I'm still seeing the (turns out it was a) 500 error on WebResource.axd.
Changing the folder permissions resolved it for about an hour and now it's right back to the same behavior.

My production database engine is SQL Server 10.50.2500.0

My staging  and development database is on SQL Server 10.50.4000.0
whenever i played with permissions on the site, i found it better to reboot. (could be just me)

 

but the db version was the ASPDNSF db version. When i did the update, that fixed it.

 

the Update 9.0 to Latest.sql file

I really appreciate you taking time to step through all this. I didnt' do a reboot after the permissions change, I'll have to schedule an off-peak time to do that.

Looking at the About page in the admin panel I see:

Version (Code/DB): AspDotNetStorefront Multistore 9.2.0.0/9.2.0.0

 I assume that the Store and DB versions should match.

The link you were trying to post last doesn't seem to have stuck.

no worries. I manage a few dozen sites, so this is just what I do...LOL

 

ok. Try this.

Open the site in Firefox and run firebug on it. It should show you a bit more detail on which file isn't loading.

https://getfirebug.com/

I had this error before, just can't remember how I fixed it.

 

hey, check your app pool for the site. i'd put it on 2.0 classic to be safe.

I have all my sites on .NET 4.0 integrated and it's a bit tricky.
I switched it back to Classic Mode for the App Pool and rebooted after the permissions change but I'm still seeing the error.

When I decrypt the query string it says it's for WebForms.js, MicrosoftAjaxWebForms.js, and MicrosoftAjax.js.
...