No. The same behaviour (i.e. HTTP Error 404.3 - Not Found) occurs when a request is made to an ASP.NET page in the root app on the default site (i.e. http://localhost/foo.aspx).
The following is the output of the commands specified above:
C:\>%windir%\system32\inetsrv\appcmd list apppools
APPPOOL "DefaultAppPool" (MgdVersion:v2.0,MgdMode:Integrated,state:Started)
APPPOOL "Classic .NET AppPool" (MgdVersion:v2.0,MgdMode:Classic,state:Started)
C:\>%windir%\system32\inetsrv\appcmd list apps
APP "Default Web Site/" (applicationPool:DefaultAppPool)
APP "Default Web Site/Hello" (applicationPool:DefaultAppPool)
C:\>%windir%\system32\inetsrv\appcmd list config "Default Web Site/" -section:handlers
<system.webServer>
<handlers accessPolicy="Script, Read">
<add name="TRACEVerbHandler" path="*" verb="TRACE" type="" modules="Protocol
SupportModule" scriptProcessor="" resourceType="Unspecified" requireAccess="None
" preCondition="" />
<add name="OPTIONSVerbHandler" path="*" verb="OPTIONS" type="" modules="Prot
ocolSupportModule" scriptProcessor="" resourceType="Unspecified" requireAccess="
None" preCondition="" />
<add name="StaticFile" path="*" verb="*" type="" modules="StaticFileModule,D
efaultDocumentModule,DirectoryListingModule" scriptProcessor="" resourceType="Ei
ther" requireAccess="Read" preCondition="" />
</handlers>
</system.webServer>
C:\>%windir%\system32\inetsrv\appcmd list config "Default Web Site/Hello" -section:handlers
<system.webServer>
<handlers accessPolicy="Script, Read">
<add name="iframecall.axd_*" path="iframecall.axd" verb="*" type="Microsoft.
Web.Services.IFrameHandler" preCondition="integratedMode,runtimeVersionv2.0" />
<add name="atlasglob.axd_*" path="atlasglob.axd" verb="*" type="Microsoft.We
b.Globalization.GlobalizationHandler" preCondition="integratedMode,runtimeVersio
nv2.0" />
<add name="atlasbatchcall.axd_*" path="atlasbatchcall.axd" verb="*" type="Mi
crosoft.Web.Services.MultiRequestHandler" preCondition="integratedMode,runtimeVe
rsionv2.0" />
<add name="*.asbx_*" path="*.asbx" verb="*" type="Microsoft.Web.Services.Scr
iptHandlerFactory" preCondition="integratedMode,runtimeVersionv2.0" />
<add name="*.asmx_*" path="*.asmx" verb="*" type="Microsoft.Web.Services.Scr
iptHandlerFactory" preCondition="integratedMode,runtimeVersionv2.0" />
<add name="TRACEVerbHandler" path="*" verb="TRACE" type="" modules="Protocol
SupportModule" scriptProcessor="" resourceType="Unspecified" requireAccess="None
" preCondition="" />
<add name="OPTIONSVerbHandler" path="*" verb="OPTIONS" type="" modules="Prot
ocolSupportModule" scriptProcessor="" resourceType="Unspecified" requireAccess="
None" preCondition="" />
<add name="StaticFile" path="*" verb="*" type="" modules="StaticFileModule,D
efaultDocumentModule,DirectoryListingModule" scriptProcessor="" resourceType="Ei
ther" requireAccess="Read" preCondition="" />
</handlers>
</system.webServer>
In both instances (above), the HTTP handler for the .aspx file extension appears to be missing from the application configs. It would appear as though the "Windows Features" applet did not correctly establish the appropriate configuration entries. For example, when I explicitly add the HTTP handler for the .aspx file extension to the web.config file for one of my applications, the page is processed correctly.
The following element was added to /configuration/system.webServer/handlers in web.config:
<add name="*.aspx" path="*.aspx" verb="*" type="System.Web.UI.PageHandler" preCondition="integratedMode,runtimeVersionv2.0" />
When this element (above) is added to the web.config file, the ASP.NET page is processed and the expected response is served to the browser.
It seems that a problem exists with the "Windows Features" applet; enabling ASP.NET to run in IIS 7.0 does not establish the necessary configs. Unless I'm mistaken, once ASP.NET has been enabled, the expected behaviour is for IIS 7.0 to process any ASP.NET pages from that point on. Is this not the case? Are developers required to explicitly define a HTTP handler in the web.config for every application hosted by IIS 7.0?
Thanks for your help!