Answers:
Page
是一个特殊情况处理程序。
通用Web处理程序(*.ashx
,基于扩展的处理器)是所有没有UI且包含以下内容的Web处理程序的默认HTTP处理程序:@WebHandler
指令的。
ASP.NET页面处理程序(*.aspx
)是所有ASP.NET页面的默认HTTP处理程序。
在内置的HTTP处理程序中,还有Web服务处理程序(*.asmx
)和跟踪处理程序(trace.axd
)
MSDN 说:
ASP.NET HTTP处理程序是响应对ASP.NET Web应用程序的请求而运行的过程(通常称为“端点”)。最常见的处理程序是处理.aspx文件的ASP.NET页处理程序。当用户请求.aspx文件时,页面将通过页面处理程序处理请求。
下图说明了这一点:
关于第二个问题:
ashx是否比aspx处理更多的连接?
不要这样认为(但可以肯定的是,至少不能少于)。
HttpHandler
只是请求的一部分,正在该部分之前执行Page
。
.aspx
使用一个完整的生命周期(Init
,Load
,PreRender
),并且可以向按钮点击等响应
一个.ashx
具有只是一个单一的ProcessRequest
方法。