The most likely cause is:
• This application defines the configuration in the system. web/httpModules section.
Possible operations:
• Migrate configurations to the system. webServer/modules section. You can also do this manually or by using AppCmd in the command line-for example, % SystemRoot % \ system32 \ inetsrv \ appcmd migrate config "Default Web Site /". Migrating an application using AppCmd will enable it to work in integrated mode and continue to work in Classic mode and earlier versions of IIS.
• If you are sure you can ignore this error, you can disable it by setting system. webServer/validation @ validateIntegratedModeConfiguration to false.
• You can also switch an application to an application pool in Classic Mode-for example, % SystemRoot % \ system32 \ inetsrv \ appcmd set app "Default Web Site/"/applicationPool: "Classic. NET AppPool ". This is done only when the application cannot be migrated.
(Set "Default Web Site" and "Classic. NET AppPool" to your application path and application pool name)
The connection and more information integration mode is the preferred mode for running ASP. NET Applications on IIS 7.0.
{The application pool of IIS is divided into two types based on the managed pipeline mode: integration and classic.
Integration. in the. NET mode, the application should not be in the <system. in the web>/
The classic. NET mode is the way we used to use IIS 6, without the above restrictions .}
Solution:
Method 1: configure the application pool on IIS7.
After the program Pool Mode is changed to "classic", everything is normal.
(Specific Method: Open IIS, select Basic settings in the operation on the right, select "Classic. net AppPool" next to the application pool, and switch the management mode to the Classic mode)
Method 2: Add modules in IIS7)
Reference: http://aabs.wordpress.com/2007/11/16/ihttpmodule-not-running-after-conversion-to-iis-7-and-net-35/
Method 3: modify web. config
Learn more:
IIS7 Application Pools has two modes: one is Integrated and the other is classic. If you use the Integrated mode, you need to modify the configuration file for the custom httpModules and httpHandlers, and transfer them to the <modules> and
What is the difference between IIS7 and IIS6?
IIS7.0 Integrated mode:Asp.net modules and handlers from <system. webServer> <modules> and
IIS7.0 Classic mode:<Modules> and
IIS6.0:Everyone is familiar with this.
If you do a configuration that can be run in both IIS6 and IIS7 modes? ValidateIntegratedModeConfiguration = "false" What is the purpose? If you have any need, you can view the details here.
Second, after migrating from iis6 to iis7, some url rewrite functions may not work well. The following article describes an hack method that effectively controls the duties of staticFile handler, the iis6.
Sample Code:
<System. web> <! -- Modules for IIS 6.0 and IIS 7.0 Classic mode --> <HttpHandlers>
<Addpath = "*. myh" verb = "GET" type = "MyApp. MyHandler"/>
</HttpHandlers>
</System. web> <system. webServer> <! -- Modules for IIS 7.0 Integrated mode --> <modules> <add name = "MagicAjaxModule" type = "MagicAjax. MagicAjaxModule, MagicAjax"/> </modules> <! -- Handlers for IIS 7.0 Integrated mode -->
<Handlers>
<Addname = "MyHandler" path = "*. myh" verb = "GET" type = "MyApp. MyHandler" preCondition = "integratedMode"/>
</Handlers>
<! -- Disable detection of IIS 6.0/Classic mode ASP. NET configuration --> <validation validateIntegratedModeConfiguration = "false"/> </system. webServer>