【发布时间】:2010-12-23 09:47:46
【问题描述】:
具体何时使用 HttpHandlers 和 HttpModules?
我不能在 ASPX 页面的代码后面编写该代码吗?
【问题讨论】:
标签: asp.net module handler httphandler httpmodule
具体何时使用 HttpHandlers 和 HttpModules?
我不能在 ASPX 页面的代码后面编写该代码吗?
【问题讨论】:
标签: asp.net module handler httphandler httpmodule
HttpModule 允许您拦截请求(在其处理程序处理之前)并生成响应。如果需要,它可以修改请求/响应。 ASP.NET 会话、配置文件、身份验证等也被实现为 HttpModule - 这些模块检查请求并将必要的上下文(例如基于会话 cookie 的会话状态)附加到请求。这样的功能很难通过后面的aspx代码来实现。
HttpHandler 负责处理请求,即生成 HTTP 响应,这通常(但不总是)意味着生成一些 html。页面类(aspx 的基础)只不过是 http 处理程序(其他端点也是如此,例如 asmx、ashx、axd)。当您需要对响应生成进行绝对控制时,原始处理程序 (ashx) 很有用 - 可以使用 aspx 代替,但它会不必要地涉及所有默认页面/控制机制(视图状态、发布日期、控制树等) .
【讨论】: