Fallow's answer is not quite accurate, handler mappings IIS7 are handled differently from IIS6 script maps.
In IIS7's management console there is an important attribute not shown in the UI, the preCondition
attribute.
The preCondition
attribute is used to specify when a handler should be invoked. To answer your question:
For instance I see several entries with the *.aspx path. Which one
wins? Could it be that some entries only applies when Classic Pipeline
is enabled and some others when Integrated pipeline is used? And the
bitness (32 bit, 64bit) influence which entries are considered?
Different pre-conditions are used to decide which .aspx
handler should be invoked. For example, on a 64 bit system with ASP.NET 2.0 and ASP.NET 4.0 installed there are six possible .aspx
handler mappings defined. Each one has a different preCondition
rule:
<add name="PageHandlerFactory-ISAPI-4.0_32bit"
path="*.aspx"
modules="IsapiModule"
scriptProcessor="C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll"
preCondition="classicMode,runtimeVersionv4.0,bitness32" />
<add name="PageHandlerFactory-ISAPI-4.0_64bit"
path="*.aspx"
modules="IsapiModule"
scriptProcessor="C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll"
preCondition="classicMode,runtimeVersionv4.0,bitness64" />
<add name="PageHandlerFactory-Integrated-4.0"
path="*.aspx"
type="System.Web.UI.PageHandlerFactory"
preCondition="integratedMode,runtimeVersionv4.0" />
<add name="PageHandlerFactory-Integrated"
path="*.aspx"
type="System.Web.UI.PageHandlerFactory"
preCondition="integratedMode" />
<add name="PageHandlerFactory-ISAPI-2.0"
path="*.aspx"
modules="IsapiModule"
scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll"
preCondition="classicMode,runtimeVersionv2.0,bitness32" />
<add name="PageHandlerFactory-ISAPI-2.0-64"
path="*.aspx"
modules="IsapiModule"
scriptProcessor="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll"
preCondition="classicMode,runtimeVersionv2.0,bitness64" />
If you look at each of the preConditions
above they're all slightly different, this is how IIS chooses which handler mapping to execute.
For more information see:
http://www.iis.net/ConfigReference/system.webServer/handlers/add
Also there's a great article which explains handler mappings and their preConditions
here:
Achtung! IIS7 Preconditions