1.IHttpHandler接口
    定义了实现一个HttpRequest的处理所必须实现的一些系统约定方法。

ASP.NET底层机制 (下) HttpHandler    public interface IHttpHandler
    }

NET为ASP.NET提供了很多系统默认HttpHandler类,用来适应不同类型的HttpRequest
    比如aspx,在machine.config中是这样定义的:    
        <add verb="*" path="*.aspx" type="System.Web.UI.PageHandlerFactory"/>
            说明遇到aspx的Request,ASP.Net会将其交给System.Web.UI.PageHandlerFactory的HttpHandler类来处理
如果自己定义了新的HttpHandler,而且在Web.config中指定,则系统只会使用这个新的HttpHandler,而不再使用原先指定的

2.HttpHandler实现了IHttpHandler接口
    一个aspx页面在HttpHandler容器中的ProcessRequest方法才被系统真正的处理解析——即交给PageHandlerFactory处理,该工厂负责提供一个HttpHandler容器,由其处理HttpRequest

3.如果要在HttpHandler容器中使用Session,必须要实现IRequiresSessionState接口——这只是一个空接口,一个标记

ASP.NET底层机制 (下) HttpHandlerusing System;
ASP.NET底层机制 (下) HttpHandler
using System.Web;
ASP.NET底层机制 (下) HttpHandler
using System.Web.SessionState;
ASP.NET底层机制 (下) HttpHandler
ASP.NET底层机制 (下) HttpHandler
namespace MyNamespace
}

同时,还要在Web.config中加上声明:
ASP.NET底层机制 (下) HttpHandler   <httpHandlers>
ASP.NET底层机制 (下) HttpHandler        
<add verb="*" path="*" type="MyNamespace.MyHandler,MyNamespace"></add>
ASP.NET底层机制 (下) HttpHandler   
</httpHandlers>

4.IHttpHandlerFactory
    待续。。。


相关文章: