View Complete Thread
  • Re: Failed to Execute Url (System.Web.DefaultHttpHandler.BeginProcessRequest) on IIS7

    Oct 27, 2007 02:36 AM|mvolo|LINK

    Hi Nathan,

    Unfortunately, DefaultHttpHandler (and derivations) is not supported in Integrated mode.  Breaking changes are documented here: http://www.iis.net/articles/view.aspx/IIS7/Hosting-Web-Applications/ASP-NET/Upgrading-ASP-NET-1-1-to-IIS7-on-Windows-Vista---L?Page=3

    If your application is designed for IIS6.0, you can always configure it to run on IIS7 by placing it in Classic mode (change the apppool mode) - more details here: http://www.iis.net/default.aspx?i=928&subtabid=25&tabid=2&p=2.

    If you can develop a separate version of your application for IIS7, you can move the logic from your DefaultHttpHandler to an ASP.NET module that runs for all requests.  In essense, DefaultHttpHandler in IIS6.0 is a very limited way to emulate an integrated pipeline (running ASP.NET modules for all requests), which is obsoleted in IIS7 with the real integrated pipeline.

    Your ASP.NET module in IIS7 integrated mode will run for all requests.  It can also change request headers using the HttpRequest.Headers collection which is now writable, and redirect to different urls using RewritePath.  One of the key benefits of this is performance, because it eliminates the need to wildcard-map ASP.NET ISAPI and execute child requests.

    Thanks,

    Mike Volodarsky

    Program Manager
    IIS Core Server
    Visit mvolo.com for more inside information on IIS7, IIS and ASP.NET

    Mike Volodarsky
    CTO at LeanSentry
    Former IIS/ASP.NET PM