高性能ASP.NET应用程序(2)——ASP.NET缓存简介

上次我们介绍了ASP.NET应用程序状态管理方面的一些内容。今天,我们将继续上次关于编写高性能ASP.NET程序的话题,探讨一下ASP.NET的缓存机制。在编写ASP.NET应用程序时,能否有效地利用缓存对于程序的响应时间和资源管理方面至关重要。这一次,我们将讨论以下四个部分:     1)正确地使用缓存API     2)利用输出缓存和片段缓存     3)缓存在Web Farm中的应用     4)有效应用缓存方面的一些建议     缓存API非常简单并易于使用,但仍然有一些情况下,你应该避免使用它们。例如,如果你要缓存的数据是特定于某个用户的,那么还是保存在会话状态中为好。如果某些数据更新非常频繁,那么这些数据在缓存中也不会被保存很久,因此缓存这样的数据对性能提高没有任何好处。我想提请您特别注意一下的是AddValidationCallback。这个函数在当你想为不同的客户定制缓存数据时是非常有用的。下面的代码演示了如何使用AddValidationCallback来依据输入的查询字符串自定义请求的处理过程的。 <script language=”c#” runat=”server”>      HttpContext ctx = HttpContext.Current;    static string validationstate;      public void Page_Load()    {       Response.Cache.AddValidationCallback(new HttpCacheValidateHandler(ValidateCache), null);       ctx.Response.Write(“”);    }      public static void ValidateCache(HttpContext context, Object data, ref HttpValidationStatus status)    {      …

0