优化网站,dotNet MVC 可以通过(OutputCache)特性在某些Action上使用缓存,如果我们想要自定义缓存依据可以通过如下方式进行:

第一步, 在 global.asax.cs 文件中 overite GetVaryByCustomString函数:

   /// <summary>/// 自定义生成的依据/// </summary>/// <param name="context"></param>/// <param name="custom"></param>/// <returns></returns>public override string GetVaryByCustomString(HttpContext context, string custom) {if (EqualsIgnoreCase("AnonymousID", custom)) {return context.Request.AnonymousID;}return base.GetVaryByCustomString(context, custom);}// System.Web.Util.StringUtilstatic bool EqualsIgnoreCase(string s1, string s2) {return (string.IsNullOrEmpty(s1) && string.IsNullOrEmpty(s2)) ||(!string.IsNullOrEmpty(s1) && !string.IsNullOrEmpty(s2) && s2.Length == s1.Length &&string.Compare(s1, 0, s2, 0, s2.Length, StringComparison.OrdinalIgnoreCase) == 0);}

第二步:在需要输出缓存的Action上添加OutPutCache特性:

   [OutputCache(CacheProfile = "StaticPage")]public ActionResult Index(){return View();}   

第三部:为了便于修改缓存配置,我们可以办具体的缓存设置写在配置文件中,如下:

    <caching><outputcachesettings>                         <outputcacheprofiles><clear /><!-- 24 hours--><add varybycustom="AnonymousID" varybyparam="*" duration="86400" name="StaticPage" /></outputcacheprofiles></outputcachesettings></caching>

转载于:https://www.cnblogs.com/lcxmvc/p/4628842.html

Mvc 页面缓存 OutputCache VaryByCustom相关推荐

  1. MVC输出缓存(OutputCache参数详解)

    1.学习之前你应该知道这些 几乎每个项目都会用到缓存,这是必然的.以前在学校时做的网站基本上的一个标准就是1.搞定增删改查2.页面做的不要太差3.能运行(ps真的有这种情况,答辩验收的时候几个人在讲台 ...

  2. .Net页面缓存OutPutCache详解

    一 它在Web.Config中的位置<system.web><!--页面缓存--><caching><outputCacheSettings><o ...

  3. 页面缓存 OutputCache

    <%@ OutputCache Duration="15" VaryByParam="none" %> 使用页面输出缓存 <%@ Output ...

  4. ASP.NET 页面缓存 @ OutputCache

    <%@ OutputCache Duration="900" VaryByParam="None" %> ASP.NET页面缓存900秒 转载于:h ...

  5. 页面缓存OutputCache

    缓存:把数据放到内存里面,下次请求的时候,直接从内存读取数据返回给客户端就可以了,不用再去访问数据库或者磁盘,用内存空间换磁盘读的时间. 页面缓存 使用@OutputCatch指令能够声明页面输出缓存 ...

  6. [转]Asp.net mvc 网站之速度优化 -- 页面缓存

    网站速度优化的一般方法 由于网站最重要的用户体验就是速度,特别是对于电子商务网站而言. 一般网站速度优化会涉及到几个方面: 1. 数据库优化 - 查询字段简历索引,使用数据库连接池和持久化,现在还有种 ...

  7. MVC缓存OutPutCache学习笔记 (一) 参数配置

    OutPutCache 参数详解 Duration : 缓存时间,以秒为单位,这个除非你的Location=None,可以不添加此属性,其余时候都是必须的. Location : 缓存放置的位置; 该 ...

  8. .net html5页面缓存技术,.net缓存技术详解

    动态缓存(1)-传统缓存 与 页面输出缓存 面详细介绍在<系统缓存全解析一>中提及的动态缓存技术: 一,传统缓存方式: 比如将可重复利用的东西放到Application或是Session中 ...

  9. ASP.NET MVC Caching with OutputCache

    ASP.NET MVC Caching with OutputCache [原文:http://tech.pro/tutorial/1434/aspnet-mvc-caching-with-outpu ...

最新文章

  1. 我的Android进阶之旅------Android二级ListView列表的实现
  2. 图像的放大与缩小(2)——双线性插值放大与均值缩小
  3. jquery文件的引入
  4. C++ Primer 5th笔记(chap 16 模板和泛型编程)函数模板显式实参
  5. c语言中数组大小10000,C语言,怎么存一个很大的数,比方说10000的阶乘
  6. 队列的基础概念与经典题目(Leetcode题解-Python语言)
  7. 2010计算机网络考研真题及答案,2010年计算机考研统考真题参考答案
  8. 翻译: Transfer learning 迁移学习指南
  9. Ruby语言入门之Hello world
  10. Mac 下如何用命令行解压和压缩 rar 文件
  11. 什么是指标体系?怎么搭建一个完美的指标体系? by彭文华
  12. 计算机左侧没有桌面菜单栏,我的电脑左侧工具栏忽然不见了
  13. [文摘20070308]中国历史朝代歌
  14. 木子-前端-ajax传值与接收最简单的方式
  15. Deep Spatio-Temporal Representation for Detection of Road Accidents Using Stacked Autoencoder
  16. css关于:hover的使用
  17. scala中的break和continue
  18. 『正睿OI 2019SC Day3』
  19. 阿里妈妈内容营销团队并入优酷 向樊路远汇报
  20. 安装ubuntu系统过程中卡住

热门文章

  1. pytorch打印模型参数_Pytorch网络压缩系列教程一:Prune你的模型
  2. 使用Spring Boot开发Restful程序
  3. 搜索推荐中的召回匹配模型综述(二):基于表示学习的深度学习方法
  4. Java 垃圾回收算法之G1
  5. Elasticsearch自定排序插件实现
  6. nodejs代码细节效率对比
  7. java B2B2C springmvc mybatis仿淘宝电子商城系统(十)用spring Restdocs创建API文档
  8. PHP全栈开发(八):CSS Ⅹ 导航栏制作
  9. Powershell管理系列(三十一)PowerShell操作之批量创建邮箱
  10. vlc框架流程解析(转)