Handlers returns 404 error on IIS7.5 integrated pipeline
Asked Answered
J

4

5
<httpHandlers>
  <add path="ajaxpro/*.ashx" verb="POST,GET" type="AjaxPro.AjaxHandlerFactory, AjaxPro.2" />
  <add path="Reserved.ReportViewerWebControl.axd" verb="*" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" validate="false" />
  <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="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
  <add verb="GET,HEAD" path="ScriptResource.axd" validate="false" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
</httpHandlers>

I have a problem with iis7.5 in integrated mode. When I use it in classic mode handlers that presented above work fine, but if I switch to the integrated pipeline - all requests that should be handled return 404 error. Why?

Jennajenne answered 23/3, 2010 at 9:30 Comment(0)
C
11

I could be miles off here because I'm as far from an IIS expert as it's possible to be, but I came across your question since I too am having trouble with IIS7 in integrated mode. One thing I notice is that you're using the httpHandlers section, which sits in system.web. However, I think for integrated mode you need to use the system.webServer section:

<system.webServer>
   <handlers>
      <add... >
   </handlers>
</system.webServer>

Hopefully someone who knows what they're talking about will correct me if I'm wrong.

Corody answered 14/4, 2010 at 9:41 Comment(2)
Thank you! Your answer helped me to find this article on msdn msdn.microsoft.com/en-us/library/46c5ddfy.aspx whith all information I needed!Jennajenne
I think that adding your handlers to both sections is required if you're using IIS 6 and IIS 7... (which may be an implied difference between classic and integrated modes?)Oaf
K
1

In the Request Filtering section I needed to set .axd files as an Allowed extension, my hosting company had the setting Allow unlisted file name extensions turned off, which was different to my development environment.

Kelso answered 16/4, 2015 at 10:14 Comment(0)
B
1

I recently moved a client website from an old IIS6 to IIS7 installation. They were running into 404s on their application when calling .axd also. Their site was set to .net 2, permissions correct, handlers all looked good. Ended up changing their application pool from "Managed Pipeline Mode" Integrated to Classic, this solved the problem for their application.

Brocade answered 16/2, 2016 at 14:32 Comment(0)
B
0

After trying a lot of the options, they didn't work out. But however, this worked. In your Appstart folder add this code routes.IgnoreRoute("{resource}.axd/{*pathInfo}") in routeconfig.cs as shown below.

public static void RegisterRoutes(RouteCollection routes) {
            routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
}
Biak answered 24/10, 2017 at 7:19 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.