// // System.Web.Caching.CachedVaryBy // // Author(s): // Jackson Harper (jackson@ximian.com) // // (C) 2003 Novell, Inc (http://www.novell.com) // using System; using System.Text; namespace System.Web.Caching { internal class CachedVaryBy { private string[] prms; private string[] headers; private string custom; internal CachedVaryBy (HttpCachePolicy policy) { prms = policy.VaryByParams.GetParamNames (); headers = policy.VaryByHeaders.GetHeaderNames (); custom = policy.GetVaryByCustom (); } internal string CreateKey (string file_path, HttpContext context) { StringBuilder builder = new StringBuilder (); HttpApplication app = context.ApplicationInstance; HttpRequest request = context.Request; builder.Append ("CachedRawResponse\n"); builder.Append (file_path); builder.Append ('\n'); builder.Append ("METHOD:" + request.HttpMethod); builder.Append ('\n'); if (prms != null) { for (int i=0; i