博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
把老赵的页面缓存片断改一下,呵呵
阅读量:6839 次
发布时间:2019-06-26

本文共 2389 字,大约阅读时间需要 7 分钟。

用着方便,但我感觉在前端调用上有些不便,可以我把他的代码又改了一下,呵呵!

老赵代码的调用:

Before Rendering:<%= DateTime.Now %>
Rendering:<%= Html.Cache("Now", null, DateTime.Now.AddSeconds(60), Cache.NoSlidingExpiration, () => { System.Threading.Thread.Sleep(5000); return DateTime.Now; }) %>
After Rendering:<%= DateTime.Now %>

占占页面片断缓存的调用:

@Html.Cache("test", DateTime.Now.AddMinutes(1), @     @DateTime.Now     );

前台UI层使用了razor视图引擎,写法上很简介,它与C#方法容为一体,我的HTML代码以参数的形式传递给了Cache方法,再看一下Cache方法原型:

///     /// 缓存的扩展方法    ///     public static class CacheExtensions    {        ///         /// 对页面中指定字符串进行缓存        ///         ///         /// 缓存Key        /// 缓存依附对象,可以为null        /// 过期时间        /// 相对本次过期时间        /// 要缓存对象        /// 
public static HelperResult Cache(this HtmlHelper htmlHelper, string cacheKey, CacheDependency cacheDependencies, DateTime absoluteExpiration, TimeSpan slidingExpiration, Func
func) { var cache = htmlHelper.ViewContext.HttpContext.Cache; var content = cache.Get(cacheKey) as string; if (content == null) { content = func.Invoke(null).ToHtmlString(); cache.Insert(cacheKey, content, cacheDependencies, absoluteExpiration, slidingExpiration); } return new HelperResult(writer => { writer.Write(content); }); } ///
/// 对页面中指定字符串进行缓存 /// ///
///
缓存Key ///
过期时间 ///
相对本次的过期时间 ///
要缓存对象 ///
public static HelperResult Cache(this HtmlHelper htmlHelper, string cacheKey, DateTime absoluteExpiration, TimeSpan slidingExpiration, Func
func) { return Cache(htmlHelper, cacheKey, null, absoluteExpiration, slidingExpiration, func); } ///
/// 对页面中指定字符串进行缓存 /// ///
///
缓存Key ///
过期时间 ///
要缓存对象 ///
public static HelperResult Cache(this HtmlHelper htmlHelper, string cacheKey, DateTime absoluteExpiration, Func
func) { return Cache(htmlHelper, cacheKey, null, absoluteExpiration, System.Web.Caching.Cache.NoSlidingExpiration, func); } }

呵呵,赶快去部署一下吧,有时,我们在考虑代码的功能性的同时,也应该多注意一下代码的调用的方便性与代码表现出现的艺术性!

感谢您的阅读!

感谢老赵同志!

转载地址:http://semkl.baihongyu.com/

你可能感兴趣的文章
如何使用React动态添加/删除class来改变样式
查看>>
mysql-连接查询
查看>>
Axure RP9 自学之路2-基础操作篇
查看>>
GMS(cts、gsi、vts、gts、ctsv)问题总结
查看>>
runtime 关联对象objc_setAssociatedObject
查看>>
比较某两个时间的时间戳相等
查看>>
外墙清洗这件事,到底怎样才算安全?
查看>>
java B2B2C Springcloud多租户电子商城系统-spring-cloud-eureka
查看>>
11月29日云栖精选夜读:阿里传奇工程师多隆的程序世界
查看>>
推荐一些学习软件编程的网站
查看>>
Throwable
查看>>
三栏布局 五中解决方式
查看>>
ES6手册
查看>>
Go学习之-用vscode写go代码遇到的问题
查看>>
Django搭建个人博客:渲染Markdown文章目录
查看>>
菜鸟成长之路05/06/07
查看>>
Android 动画之属性动画
查看>>
Android 哥哥福利
查看>>
推荐一些工具类网站
查看>>
Visual Paradigm 教程[UML]:如何在序列图中应用消息编号?
查看>>