我已经阅读了这些但仍然混淆了我将编写http处理程序而不是http模块(反之亦然)的用例。每个用例的一些示例将有所帮助
答案 0 :(得分:1)
<强> HTTP Handlers and HTTP Modules Overview 强>
自定义HTTP处理程序的典型用法包括:
RSS提要要为网站创建RSS提要,您可以创建一个发出RSS格式的XML的处理程序。然后,您可以将文件扩展名(如.rss)绑定到自定义处理程序。当用户向您的站点发送以.rss结尾的请求时,ASP.NET会调用您的处理程序来处理请求。
图像服务器如果您希望Web应用程序提供各种大小的图像,您可以编写自定义处理程序来调整图像大小,然后将其作为处理程序的响应发送给用户
HTTP模块的典型用途包括:
安全性由于您可以检查传入的请求,因此HTTP模块可以在调用请求的页面,XML Web服务或处理程序之前执行自定义身份验证或其他安全检查。在以集成模式运行的Internet信息服务(IIS)7.0中,您可以将表单身份验证扩展到应用程序中的所有内容类型。
统计信息和日志记录由于每个请求都会调用HTTP模块,因此您可以在集中模块中收集请求统计信息和日志信息,而不是在单个页面中收集。
自定义页眉或页脚因为您可以修改传出响应,所以可以将自定义标题信息等内容插入到每个页面或XML Web服务响应中。
答案 1 :(得分:0)
HTTP处理程序就像一个ASPX页面。在web.config中注册了一个处理程序,以响应特定的URL,例如“* .css”或“MyHandler.xyz”。
HTTP模块处理所有请求。如果您需要在处理程序开始处理之前处理所有请求的内容,那么您需要一个HTTP模块。安全性和缓存是使用模块的主要示例。