There may be more than one httpmodules involved in a request
processing like authentication, caching, etc. After the request is processed by
httpmodules it is given to the HttpHandler for further completion. Like
HttpModules there cannot be more than one HttpHandler that is involved in a
request processing. To add more value to the above point, in our example user
requests an ASPX page so the HttpHandler which receives the request will be
HttpPageHandlerFactory, it’s an factory implementation. Like HttpModules we can
also write a custom HttpHanlder and configure it Web.Config of our application
to use it during request processing. As HttpModules the default HttpHandler used
for ASP.Net request processing is configured in Machine.Config file. Below you
can find the information’s about HttpHandler in machine.config,
<httpHandlers>
<add verb="*" path="*.vjsproj"
type="System.Web.HttpForbiddenHandler"/><add verb="*" path="*.java"
type="System.Web.HttpForbiddenHandler"/><add verb="*" path="*.jsl"
type="System.Web.HttpForbiddenHandler"/><add verb="*" path="trace.axd"
type="System.Web.Handlers.TraceHandler"/>
<add verb="*" path="*.aspx"
type="System.Web.UI.PageHandlerFactory"/>
<add verb="*" path="*.ashx"
type="System.Web.UI.SimpleHandlerFactory"/>
<add verb="*" path="*.asmx"
type="System.Web.Services.Protocols.WebServiceHandlerFactory,
System.Web.Services, Version=1.0.5000.0, Culture=neutral,
PublicKeyToken=b03f5f7f11d50a3a" validate="false"/>
<add verb="*" path="*.rem"
type="System.Runtime.Remoting.Channels.Http.HttpRemotingHandlerFactory,
System.Runtime.Remoting, Version=1.0.5000.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089" validate="false"/>
<add verb="*" path="*.soap"
type="System.Runtime.Remoting.Channels.Http.HttpRemotingHandlerFactory,
System.Runtime.Remoting, Version=1.0.5000.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089" validate="false"/>
<add verb="*" path="*.asax"
type="System.Web.HttpForbiddenHandler"/>
<add verb="*" path="*.ascx"
type="System.Web.HttpForbiddenHandler"/>
<add verb="GET,HEAD"
path="*.dll.config" type="System.Web.StaticFileHandler"/>
<add verb="GET,HEAD"
path="*.exe.config" type="System.Web.StaticFileHandler"/>
<add verb="*" path="*.config"
type="System.Web.HttpForbiddenHandler"/>
<add verb="*" path="*.cs"
type="System.Web.HttpForbiddenHandler"/>
<add verb="*" path="*.csproj"
type="System.Web.HttpForbiddenHandler"/>
<add verb="*" path="*.vb"
type="System.Web.HttpForbiddenHandler"/>
<add verb="*" path="*.vbproj"
type="System.Web.HttpForbiddenHandler"/>
<add verb="*" path="*.webinfo"
type="System.Web.HttpForbiddenHandler"/>
<add verb="*" path="*.asp"
type="System.Web.HttpForbiddenHandler"/>
<add verb="*" path="*.licx"
type="System.Web.HttpForbiddenHandler"/>
<add verb="*" path="*.resx"
type="System.Web.HttpForbiddenHandler"/>
<add verb="*" path="*.resources"
type="System.Web.HttpForbiddenHandler"/>
<add verb="GET,HEAD" path="*"
type="System.Web.StaticFileHandler"/>
<add verb="*" path="*"
type="System.Web.HttpMethodNotAllowedHandler"/>
</httpHandlers>
|