卷土重来之staticHtml基础使用教程

前段时间发布了一个asp.net生存html缓存的东西,老实说坑了蛮多的人,bug比较多, 经过这段时间的测试与改进,应该到了可以使用的地步了,

欢迎大家测试与使用,下面我介绍使用教程,对了,这里感谢一下猴子,他帮我测试了很多。

首先请将StaticHtml.dll添加引用,或者拷贝到bin目录中,下面是具体配置说明

注意:下面的配置步骤都是在web.config中操作。

1. 添加StaticHtml配置文件读取节点

在configuration/configSections添加如下节点

<section name="staticHtml" type="StaticHtml.StaticHtmlSection,StaticHtml"/>

添加StaticHtml

2. 添加HttpModule

在configuration/system.web/httpModules中,添加

<add name="staticHtml" type="StaticHtml.HttpModule,StaticHtml"/>

如果这样配置,用浏览器访问任意一个页面,如果根目录下没有生成staticHtml_log.txt这个文件,请将上面的节点,添加到configuration/system.webServer/httpModule中

当然,请确保你服务器能正确加载httpmodule,因为有可能你的服务器配置,根本就不能加载任何httpmodule。请参考asp.net mvc配置

3. 配置自己站点的生成缓存规则

在configuration中添加如下节点

<staticHtml skip="admin/" run="on">

<rule name=" index ">

<patten type="StaticHtml.RegexPatten,StaticHtml" pars="RegPatten=index \.aspx"/>

<store type="StaticHtml.MemStore,StaticHtml"/>

<genKey type="StaticHtml.UrlMd5GenKey,StaticHtml"/>

<expire type="StaticHtml.TimeExpire,StaticHtml"  pars="Second=300"/>

</rule>

<rule name="content">

<patten type="StaticHtml.RegexPatten,StaticHtml" pars="RegPatten=article/"/>

<store type="StaticHtml.FileStore,StaticHtml" pars="Path=cacheHtml_article/"/>

</rule>

</staticHtml>

上面的配置,定义了2个规则,

第一个规则,

<rule name=" index ">

<patten type="StaticHtml.RegexPatten,StaticHtml" pars="RegPatten=index\. aspx "/>

<store type="StaticHtml.MemStore,StaticHtml"/>

</rule>

规则,这个规则的名字叫做index,

patten节点 如果url中匹配index\. aspx 这个正则表达式,则缓存。

store节点 将缓存的html保存到内存中

genKey 节点 将request.rawRul通过md5加密生成key,在statichtml非常重要,代表了一个唯一的缓存页面,

expire节点 意味着缓存300秒(5分钟)

第二个规则

<rule name="content">

<patten type="StaticHtml.RegexPatten,StaticHtml" pars="RegPatten=article/"/>

<store type="StaticHtml.FileStore,StaticHtml" pars="Path=cacheHtml_article/"/>

</rule>

这个规则的名字叫做content(规则名字不能重复)

patten 节点 如果url中匹配article/这个正则表达式的,就缓存

store节点 将缓存的保存到根目录下面/cacheHtml_article中

StaticHtml节点 skip属性 admin/ 代表如果url能匹配这个正则表达式,则不缓存。

提示:staticHtml节点skip 属性,patten节点的 pars属性, 都是可以配置正则表达式的, 就是一个纯粹的正则表达式,可以写的很复杂,也可以很简单。

4. 其他补充

1:下篇文字我将详细介绍如何扩展statichtml

2:下载statichtml.dll(这是最新版,使用gzip压缩存储,大大减少磁盘占用,网站流量。)

3:源码还是在github上https://github.com/tianqiq/StaticHtml

4:经网友测试发现,在4.0,4.5 .net上会出现刷新后,就空白的情况。所以请将项目的.net版本设置为3.5,即可。(真没想到这么多童鞋是用4.0甚至4.5了)

 

 

更新:

现在已经修复4.0以上刷新后,空白的情况, 欢迎测试与使用。(2013/7/21)

代码已经更新到github上, 请从这里下载最新dll http://url.cn/H5TSeH

posted @ 2013-06-29 22:24  ~Js  阅读(2999)  评论(19编辑  收藏  举报