ASP.NET本质论
上QQ阅读APP看书,第一时间看更新

3.2.1 一般处理程序工厂

对于一般处理程序来说,扩展名请求的处理程序并不需要程序员在Web.config中进行配置,实际上这个处理程序已经定义在系统配置文件的web.config中。所以浏览器可以直接请求扩展名为ashx的地址:

<add path="*.ashx"
     verb="*"
     type="System.Web.UI.SimpleHandlerFactory"
     validate="True"/>

通过配置文件,我们可以看到,对于扩展名为ashx的请求是通过定义在命名空间System.Web.UI下的SimpleHandlerFactory处理程序工厂来完成的。

当请求一个ashx 扩展名的服务器上的资源的时候,SimpleHandlerFactory将找到对应的ashx文件,通过这个文件找到对应的处理程序,最后,SimpleHandlerFactory通过反射创建一个此类型的处理程序对象实例,并通过GetHandler方法返回给HttpApplication,完成最终的请求处理过程。