HTTP处理程序:何时使用同步/异步/通用处理程序(ashx)?

时间:2009-11-15 22:52:25

标签: asp.net httphandler ashx

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

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

1 个答案:

答案 0 :(得分:3)

没有严格的规则,但这里有一些指导方针:

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

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

此外,可能有助于记住,Page类实际上只是一个碰巧处理.aspx文件的HttpHandler - 当然,您也可以使用与上述相同的指导方针来同步和异步页面。

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