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

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

欢迎你们测试与使用,下面我介绍使用教程,对了,这里感谢一下猴子,他帮我测试了不少。html

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

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

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

在configuration/configSections添加以下节点github

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

添加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配置mvc

3. 配置本身站点的生成缓存规则

在configuration中添加以下节点asp.net

<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

相关文章
相关标签/搜索