asp.net - HTTP 处理程序 : When to use Synchronous/Asynchronous/Generic handlers (ashx)?

标签 asp.net httphandler ashx

ASP.NET 提供 4 种类型的 http 处理程序 - 同步、异步、通用同步 (ashx) 和通用异步 (ashx) 处理程序。

如何选择用于作业的 http 处理程序类型?

最佳答案

没有硬性规定,但这里有一些指导原则:

同步与异步:当您没有任何长时间运行的任务时,请使用同步。当你这样做时使用异步。例如,如果处理程序查询数据库或进行 Web 服务调用,那么它应该是异步的。

通用与自定义:如果您不关心 URL 中的扩展名(它将是 *.ashx),请使用通用。如果扩展很重要,请使用自定义(可能生成自定义 PNG 图像)。完全自定义处理程序需要额外的步骤来在 web.config 中注册它们,但在其他方面与通用处理程序几乎相同。

此外,记住 Page 类实际上只是一个恰好处理 .aspx 文件的 HttpHandler,这可能会有所帮助 - 当然,您也可以使用同步和异步页面,遵循与上面相同的指导原则。

如果您感兴趣,我会在书中详细介绍这些信息,包括示例 ( Ultra-Fast ASP.NET )。

关于asp.net - HTTP 处理程序 : When to use Synchronous/Asynchronous/Generic handlers (ashx)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1739164/

相关文章:

c# - .css 文件中的 html 样式链接?

javascript - WebForms - 自定义验证器不再工作

asp.net - HTTP 模块和 HTTP 处理程序

asp.net-web-api2 - 如何解决 WebAPI + OData + Owin + Ninject 的处理程序映射问题

c# - 仅在下载后计算一次下载

asp.net - 如何切换脚本标签的可见性?

asp.net - 单个主机文件条目可以包含多个域/子域吗?

c# - 未为 *.aspx 文件触发 asp.net handler.ashx 文件中的 httphandler

c# - 无法读取在 C# 处理程序中上传的文件

c# - 如何从 ashx 或 web 服务呈现用户控件?