欢迎你们测试与使用,下面我介绍使用教程,对了,这里感谢一下猴子,他帮我测试了不少。html
注意:下面的配置步骤都是在web.config中操做。git
在configuration/configSections添加以下节点github
<section name="staticHtml" type="StaticHtml.StaticHtmlSection,StaticHtml"/>web
添加StaticHtml正则表达式
在configuration/system.web/httpModules中,添加浏览器
<add name="staticHtml" type="StaticHtml.HttpModule,StaticHtml"/>缓存
若是这样配置,用浏览器访问任意一个页面,若是根目录下没有生成staticHtml_log.txt这个文件,请将上面的节点,添加到configuration/system.webServer/httpModule中服务器
固然,请确保你服务器能正确加载httpmodule,由于有可能你的服务器配置,根本就不能加载任何httpmodule。请参考asp.net mvc配置mvc
在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属性, 都是能够配置正则表达式的, 就是一个纯粹的正则表达式,能够写的很复杂,也能够很简单。
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