ASP.NET 3.5企业级项目开发 第一章(续):企业级项目框架解决方案的提出
ession 对象后,再设法确定其他相似性问题,如成员身份和角 色管理器等。每一项在消除相似性方面都面临着各自的困难。对于要进行扩展的 ASP.NET 应用程序而言 ,您需要深入探究能够发现的各种形式的相似性问题并将其消除。
截至目前我们讨论的每个策略 几乎都适用于所有需要扩展的 Web 应用程序。实际上,这些策略几乎可以用于使用任何技术扩展的任何 应用程序。现在我们就来了解一些 ASP.NET 专用的技术。 最大程度减小负载 看一下性能 等式,您会发现负载扮演着极其重要的角色,尤其是当您面对的带宽有限时。减小负载大小可以改善响应 时间,也可以因为来回移动的字节变少而获得一些扩展带来的好处,甚至可以节省一些在带宽方面的开销 。 减小负载大小最简单的一个办法就是启用压缩。在 IIS 6.0 中,您可以指定是压缩静态文件还是压缩 动态生成的响应(如 ASP.NET 页面),或者是对二者都进行压缩(请参见图 4)。 Figure 4 Configuring Compression Server-Wide in IIS 6.0 IIS 6.0 会根据需要来压缩静态文件,并将其存储在指定的压缩文件缓存中。对于动态生成的响应, 不会存储任何副本;每次都要对其进行压缩。IIS 7.0 在处理压缩内容方面更加智能化,它只压缩一些常 用的文件。 压缩需要耗用处理器周期数,但您的专用 Web 服务器通常都拥有大量额外的处理器容量。IIS 7.0 做 了进一步的优化,当处理器工作繁忙时,它将挂起压缩工作。还有一些专门执行压缩工作的设备,它们独 立于 Web 服务器本身。 另一个减小负载的途径是 ViewState。在开发过程中,ViewState 的使用很容易变得难于控制。大多 数 Web 控件都使用若干 ViewState,在控件比较密集的页面上,ViewState 可以增加到数千字节。要减 小 ViewState 的使用,请在不需要它的控件上将其关闭。在某些情况下,开发人员甚至为了减少 ViewState 而不再使用控件。但并非总需要如此。大多数时下流行的 Web 控件对 ViewState 过多的问题 都十分敏感,因此对其大小实施了精细的控制。还有一些硬件设备可以撇开并取代 ViewState,而不会改 变代码或应用程序的运行方式。 减小负载大小的最有效技术之一就是 AJAX。不同之处在于 AJAX 实际上并不减小负载大小,它只是在 发送给浏览器的总字节数增加时减小负载的感知量。使用 AJAX,父页面会变小,因此初始呈现时间会变 快。然后该页面中的各个元素会向服务器发出各自的请求以填充数据。 事实上,AJAX 会随着时间的推移来传播负载,以便在加载其他字符位时为用户提供一些可以观看的内 容。因此,使用 AJAX 可以改进用户的整体体验,但是让我们回头查看一下性能等式并测定您的实际工作 成本。AJAX 通常会增加客户端的计算时间,有时会非常明显,甚至增加到使性能变得无法接受的程度。 如果 AJAX 往返于服务器以填充各个元素的行程取代了整个页面请求,您的往返数将净减少。但在许 多情况下,您会发现特定用户的总往返数会增加。您只需认真进行测试,即可知道 AJAX 是改进了性能还 是降低了性能。 缓存 从事 ASP.NET 应用程序扩展方面研究的专家对缓存做了详细的介绍。从根本上来说,缓存可使数据更 接近用户。在一个典型的 ASP.NET 应用程序中,在完成任何重要的优化工作之前,实际上用户所需的所 有数据都在数据库中,并在每次请求时从数据库中检索这些数据。缓存将会改变这一行为。ASP.NET 实际 上支持三种形式的缓存:页面缓存(也称为输出缓存)、部分页面缓存和编程(也称为数据)缓存。 页面缓存是截至目前最为简单的缓存形式。要使用它,可在 ASP.NET 页面中添加一个 @OutputCache 指令,并加入一条用来指定过期时限的规则。例如,您可以指定将页面缓存 60 秒。将该指令放在适当位 置后,该页面的第一个请求将会正常处理 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |