为什么我们需要Http处理程序?

时间:2011-01-05 11:08:17

标签: c# asp.net iis

我理解http处理程序处理请求,但这只是理论,因为我不理解它。许多第三方控件需要在web.config中添加http处理程序。有时我们需要使用实现IHttpHandler接口的ProcessRequest方法创建自己的类,但我很难理解Http处理程序适合的位置以及它们的作用是什么?

2 个答案:

答案 0 :(得分:4)

Http处理程序是ASP.NET的重要组成部分 - 它们处理请求并生成响应的 。在webforms中,页面(aspx,或者ashx)的典型来解释请求,但这是本身一种处理程序(只是在主web.config文件中默认映射。)

在向配置文件添加处理程序的情况下,这通常是因为应用程序正在为神奇地映射到现有文件的URL动态生成内容,或者为文件添加一些逻辑存在,但超出了常规的asp.net。

如果您使用的是ASP.NET MVC,那么对于不直接映射的请求 norm ,您往往需要更少(如果有的话) norm 源树中的aspx / ashx。

回想一下ASP.NET webforms,我使用处理程序的主要时间是执行二进制下载,文件导出等操作 - 我不希望它通过webforms aspx管道运行。

答案 1 :(得分:0)

就个人而言,我使用它们来处理我的所有AJAX请求。因为我通常输出XML / JSON,所以我使用处理程序,因此我不必担心实现System.Web.UI.Page所带来的所有开销。

它们还允许您拦截HTTP管道,这有时很有用。 我认为这完全取决于你想要实现的目标。

肖恩