Asp.net 何时使用HttpHandler和HttpModule?

Asp.net 何时使用HttpHandler和HttpModule?,asp.net,module,handler,httphandler,httpmodule,Asp.net,Module,Handler,Httphandler,Httpmodule,何时确切地使用HttpHandler和HttpModule 我不能在ASPX pages的代码隐藏中编写该代码吗?HttpModule允许您拦截请求(在其处理程序处理之前)并生成响应。如果需要,它可以修改请求/响应。ASP.NET会话、配置文件、身份验证等也作为HttpModule实现-这些模块检查请求并将必要的上下文(例如基于会话cookie的会话状态)附加到请求。这种功能很难通过aspx代码实现 HttpHandler负责处理请求,即生成HTTP响应,这通常(但不总是)意味着生成一些html

何时确切地使用HttpHandler和HttpModule


我不能在ASPX pages的代码隐藏中编写该代码吗?

HttpModule允许您拦截请求(在其处理程序处理之前)并生成响应。如果需要,它可以修改请求/响应。ASP.NET会话、配置文件、身份验证等也作为HttpModule实现-这些模块检查请求并将必要的上下文(例如基于会话cookie的会话状态)附加到请求。这种功能很难通过aspx代码实现

HttpHandler负责处理请求,即生成HTTP响应,这通常(但不总是)意味着生成一些html。page类(aspx的基本类)只不过是http处理程序(其他端点如asmx、ashx、axd也是如此)。当您需要对响应生成进行绝对控制时,原始处理程序(ashx)非常有用-可以使用aspx,但不必要地涉及所有默认页面/控制机制(视图状态、发布日期、控制树等)