何时使用HttpHandlers和HttpModules?

9

何时使用HttpHandlers和HttpModules?

我不能在ASPX页面的代码后台编写那段代码吗?

1个回答

23

HttpModule 允许你在请求(被其处理程序处理之前)和生成的响应中拦截并修改请求/响应。ASP.NET 的会话、配置文件、认证等也是通过 HttpModule 实现的 - 这些模块检查请求并将必要的上下文(例如基于会话 cookie 的会话状态)附加到请求中。此类功能无法通过 aspx 代码实现。

HttpHandler 负责处理请求,即生成 HTTP 响应,通常(但不总是)意味着生成一些 HTML。页面类(aspx 的基类)只是一个 http 处理程序(其他端点如 asmx、ashx、axd 也是如此)。原始处理程序(ashx)在需要完全控制响应生成时很有用 - 当然也可以使用 aspx,但那样会不必要地涉及所有默认的页面/控件机制(视图状态、提交数据、控件树等)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接