-
OutputCache 缓存 VaryByCustom的使用,增加缓存后手机端无法做判断的处理
网络 2015/10/8 14:53:01<%@ OutputCache Duration="10" VaryByParam="none" VaryByCustom="browser" %>
然后global.asax中加入
public override string GetVaryByCustomString(HttpContext context, string arg) { if (arg == "browser") { string browserName = context.Request.Browser.Browser; browserName += context.Request.Browser.MajorVersion.ToString(); return browserName; } else { return base.GetVaryByCustomString(context, arg); } }
如果页面上增加OutputCache缓存的话,那么在cs中判断手机端就无法转向,所以必须通过VaryByCustom来判断参数进行控制
globaby.asax中判断手机端的修改如下:
public override string GetVaryByCustomString(HttpContext context, string arg) { if (arg == "browser") { //判断手机端 string UserAgent = context.Request.ServerVariables["HTTP_USER_AGENT"]; string isMobile = Regex.IsMatch(UserAgent, @"(iPhone|Android)", RegexOptions.IgnoreCase).ToString(); return isMobile; } else { return base.GetVaryByCustomString(context, arg); }
这样对于PC端和手机端会启用2种缓存。
阅读(2790) 分享(0)
上一篇: OutputCache各参数的说明
下一篇: MySQL 百万级分页优化(Mysql千万级分页)
精彩推荐
◆ 接口限流算法总结