在Web用户控件上使用通用处理程序的性能优势

本文关键字:程序 性能 处理 控件 用户 Web | 更新日期: 2023-09-27 17:51:20

我们有一个简单的user control (.ascx),当请求时返回SVG图形。

我正在讨论是否将其转换为generic handler (.ashx)以从中挤出更多的性能。这是否值得(少量)投入时间,或者我应该让它保持原样?

在Web用户控件上使用通用处理程序的性能优势

我的理念是,如果您输出的是HTML以外的内容类型,那么通用处理程序几乎总是比.aspx页面更好的选择。

首先,处理程序使它更明显,这不仅仅是另一个网页。当查看一个解决方案时,很明显处理程序正在做一些事情而不是呈现HTML。

其次,通用处理程序的生命周期大大缩短为.aspx web-form页面的生命周期。这将有一个性能上的好处,因为许多事件被跳过,像会话状态这样的事情没有被检查(除非你用IReadOnlySessionState接口标记它),尽管它可能不会真正明显,除非你的页面被请求很多。(如果要输出SVG,那么这可能是主要的开销)。

但是从架构的角度来看,它是最好的选择。