MonoRail学习笔记之页面缓存
日期:2007年10月25日 作者: 查看:[大字体 中字体 小字体]-
以前版本中MonoRail是不支持页面缓存的,在1.0 RC3版中加入了页面缓存的支持,有了页面缓存之后会对性能有很大的提升。
主要是通过加入了一个新的属性CacheAttribute.cs,其实后台也是同样使用了System.Web下的缓存处理的机制
(以前Yok也写过一篇实现MonoRail页面缓存,他是通过编写自己的缓存类来实现的,效果也不错)
使用方法很简单,如下所示:
下面列出了主要的文件,要使用缓存只是在Controller下红色的一条语句
测试Html文件
Controller文件的Index方法:
[Cache(HttpCacheability.Public, Duration = 360, VaryByParams = "id,name")]
public void Index(int id, string name, int age, DateTime birthday)
{
PropertyBag.Add("id", id);
PropertyBag.Add("name", name);
PropertyBag.Add("age", age);
PropertyBag.Add("birthday", birthday);
}
注意上面红色标示的代码
我这里只是列出了一种常用的方式,Duration表示缓存有效期是360秒,VaryByParams指定当id或者name的参数值改变了才重新生成此页面,否则不用调用此方法,直接使用缓存中的页面,HttpCacheability定义可以参照MSDN中的解释:
NoCache:设置 Cache-Control: no-cache 标头。如果没有字段名,则指令应用于整个请求,且在满足请求前,共享(代理服务器)缓存必须对原始 Web 服务器强制执行成功的重新验证。如果有字段名,则指令仅应用于命名字段;响应的其余部分可能由共享缓存提供。
Private:默认值。设置 Cache-Control: private 以指定响应只能缓存在客户端,而不能由共享(代理服务器)缓存进行缓存。
Public:设置 Cache-Control: public 以指定响应能由客户端和共享(代理)缓存进行缓存。
Server:指定响应仅缓存在源服务器上。与 NoCache 选项相似。客户机接收 Cache-Control: no-cache 指令,但文档是在原始服务器上缓存的。
ServerAndNoCache:应用 Server 和 NoCache 的设置指示在服务器上缓存内容,而对服务器以外的其他对象都显式否定其缓存响应的能力。
ServerAndPrivate:指示响应只能在服务器和客户端缓存。代理服务器不能缓存响应。
index.vm文件
测试结果(在Index方法上设置断点):
第一次调用:进入断点,正常显示测试结果
第二次调用:(页面输入值不变),不进入断点,正常显示测试结果
第三次调用:(页面中年龄输入值改变),不进入断点,显示结果中年龄值还是之前的值
第四次调用:(页面中姓名输入值改变),进入断点,正常显示测试结果 - [1] [2] 下一页
-
- MonoRail学习笔记之页面缓存 相关文章:
- ·XP提示“虚拟内存不足”原因总结
- ·把网页保存为图片 换种方式收集有用资料
- ·Windows Vista系统存储优化完全手册
- ·惠普82款笔记本存在严重网络安全漏洞
- ·视频下载不求人 突破封锁保存各类视频资源
- ·新手入门 ASP.NET2.0缓存技术
- ·卡巴内存驻留型病毒检测方法
- ·在不同版本的SQL Server中存储数据
- ·卡巴斯基(AVP)内存驻留型病毒检测方法
- ·外贸网站存在的问题
- MonoRail学习笔记之页面缓存 相关软件
- ·《古墓丽影2004黄金关卡:劳拉在电影中》难点关卡全存档
- ·《实况足球2007》粤语存档繁体中文版
- ·《变形金刚》100%通关存档
- ·《实况足球8》欧洲PC版商店所有物品存档
- ·《富甲天下4》中文版 存档修改器1.0
- ·《仙剑奇侠传三外传》繁体版 超级存档修改器
- ·《皇牌空战X》完美存档
- ·Wii存档路径查看器 0.1Beta
- ·《仙剑奇侠传4》存档修改器V1.0
- ·《风色幻想5》超强初始存档
- 特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作
- 者.文章版权归文章原始作者所有.对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转
- 载的文章有版权问题请联系编辑人员,我们尽快予以更正. 转载请注明来源:http://www.hackhome.com
上一篇:解析:认识代理防火墙的优劣
精品推荐
热点TOP10
- ·图象处理中的边缘检测------canny算子
- ·EZ-USB 68013A开发指南
- ·数值计算程序大放送-特征值和特征向量
- ·ARM的嵌入式Linux移植体验之BootLoader
- ·Visual C++ ADO数据库编程入门
- ·智能手机Smartphone开发导语
- ·利用 wordXP 实现自动排班
- ·[分形]DLA团簇模型的摸拟
- ·DENX U-Boot及Linux使用手册
- ·Visual FoxPro 9.0 SP2正式版下载
- ·VS2005控件的问题解决办法
- ·Cookie是什么?用法是怎样?与SESSION有什么区别?
- ·J2SE API读取Properties文件的六种方法
- ·Silverlight、JavaFX、Flex技术比较
- ·Silverlight将不再支持ArrayList类型
- ·教程:XSLT Designer快速入门指南
- ·创建Web应用和Struts框架配置文件实例
- ·Spring入门指引:理解Spring的打包方式
- ·UDT协议-基于UDP的可靠数据传输协议
- ·解析KJava在移动设备开发中的应用
