asp.net - ASP.NET 中的 HttpHandler 是什么

标签 asp.net httphandler ihttphandler ihttpasynchandler

什么是 ASP.NET 中的 HttpHandler?为什么以及如何使用它?

最佳答案

用最简单的术语来说,ASP.NET HttpHandler 是一个实现 System.Web.IHttpHandler 接口(interface)的类。

ASP.NET HTTPHandler 负责拦截向 ASP.NET Web 应用程序服务器发出的请求。它们作为进程运行,以响应对 ASP.NET 站点发出的请求。最常见的处理程序是处理 .aspx 文件的 ASP.NET 页面处理程序。当用户请求 .aspx 文件时,该请求由页面通过页面处理程序进行处理。

ASP.NET 提供了一些默认 HTTP 处理程序:

  • 页面处理程序 (.aspx):处理网页
  • 用户控制处理程序 (.ascx):处理 Web 用户控制页面
  • Web 服务处理程序 (.asmx):处理 Web 服务页面
  • 跟踪处理程序 (trace.axd):处理跟踪功能

您可以创建自己的自定义 HTTP 处理程序,将自定义输出呈现给浏览器。 ASP.NET 中 HTTP 处理程序的典型场景如下

  • 交付动态创建的图像(例如图表)或调整大小的图片。
  • 发出 RSS 格式 XML 的 RSS 提要

实现IHttpHandler接口(interface)来创建同步处理程序,并实现IHttpAsyncHandler接口(interface)来创建异步处理程序。这些接口(interface)要求您实现 ProcessRequest 方法和 IsReusable 属性。

ProcessRequest 方法负责对发出的请求进行实际处理,而 bool 值 IsReusable 属性则指定您的处理程序是否可以池化以供重用(以提高性能),或者是否可以每个请求都需要新的处理程序。

关于asp.net - ASP.NET 中的 HttpHandler 是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/391130/

相关文章:

asp.net - 如何在服务器端获取客户端屏幕分辨率宽度/高度

c# - 获取 asp :textbox value in client side using javascript function doesn't work

asp.net - 何时使用 HttpHandlers 和 HttpModules?

c# - ASP.NET - 在代码中动态注册一个 HttpHandler(不在 web.config 中)

asp.net - 我应该在我的 HttpHandlers 中将 IsReusable 设置为 True 吗?

c# - SqlBulkCopy 在事务内部插入时阻止任何其他对表的写入

c# - 如何更改主页 ASP .Net 的背景颜色

asp.net - ASP.NET MVC 5.0 中的 httpHandler

c# - 在 asp.net mvc 站点上收集统计信息?

c# - IHttpHandler 空 session (在某些服务器上)