Register HttpModules and HttpHandlers in IIS 7

Many time when we built a website for IIS 6 and need to move in IIS 7 or later facing this problem(http handler or http module not working in IIS 7 or IIS 7.5), so there is an additional setting for IIS 7 or later that we need to do.
 
The system.webServer configuration section in the Web.config file specifies IIS 7.0 settings that are applied to the Web application. The system.WebServer section is a child of the configuration element.For more information.
Examples of Web server settings that you can set in the system.WebServer configuration group include the following:  

  • The default document that the Web server returns to a  client when request does not include a specific resource (defaultDocument element).
  • The compression settings for responses (httpCompression element).
  • Custom headers (customHeaders element of the httpProtocol section).
  • Modules (modules element).
  • Handlers (handlers element).
  • http Errors(httpErrors element)

Some settings apply only to IIS 7.0 Integrated mode and do not apply to Classic mode. For example, if the application is running in Classic mode, any managed-code modules and handlers specified in the system.WebServer section of the Web.config file are ignored. Instead, the managed-code modules and handlers must be defined as in earlier versions of IIS, by using the httpModules and httpHandlers elements of the system.web section.

In IIS 6 you need to specify custom module only in httpModules tag under system.web tag but in iis7 or latter (only in integreatd mode) need to specify not only in httpModules also in modules tag under system.webserver tab.


Only for iis 6 (iis7 with classic mode)..

<system.web>
  <httpModules>
    <add name="PPCModule" type="PPCModule" />
    <add type="UrlHandler" name="UrlHandler" />
  </httpModules>

</system.web>

For iis 7 or later virsion (only applicable in integrated mode) add both tags..

<system.web>
  <httpModules>
    <add name="PPCModule" type="PPCModule" />
    <add type="UrlHandler" name="UrlHandler" />
  </httpModules>

</system.web>

<system.webServer>
  <modules>
    <add name="PPCModule" type="PPCModule" />
    <add name="UrlHandler" type="UrlHandler" />
  </modules>

</system.webServer>

Recent Article