最近偶然看到有朋友在讨论asp.net下生成静态html缓存问题,自己对这方面也算是有点了解,就想着能不能做一个通用的asp.net下通用的生成html的组件。经过了几个晚上的思考和编码总算出了这么个东西。 就叫StaticHtml吧。
为了不至于让大家失去兴趣,我先给出一个 “Hello world”首先我们在
web.config,
1:configSections中添加如下内容
<section name="staticHtml" type="StaticHtml.StaticHtmlSection,StaticHtml"/>
2:在 httpModules 节点中加入
<add name="staticnet" type="StaticHtml.HttpModule,StaticHtml"/>
3:最后在configuration节点中加入
<staticHtml>
<rule name="index">
<patten type="StaticHtml.RegexPatten,StaticHtml" pars="RegPatten=index\.aspx"/>
<expire type="StaticHtml.TimeExpire,StaticHtml" pars="Second=300"/>
<genKey type="StaticHtml.UrlMd5GenKey,StaticHtml"/>
<store type="StaticHtml.MemStore,StaticHtml"/>>
</rule>
<rule name="default">
<patten type="StaticHtml.RegexPatten,StaticHtml" pars="RegPatten=.*"/>
<store type="StaticHtml.FileStore,StaticHtml" pars="Path=~/html/"/>
</rule>
</staticHtml>
前面2步的我就不解释下,相信大家都明白是什么意思。 这里第3步的意思大概是这样。
首先我们配置了2个生成html缓存的规则,第一个规则名字叫做index,
patten节点: 代表使用正则表达式匹配器,正则表达式是”index\.aspx” 也就是说,url里面包含有index.aspx的页面
expire节点:代表使用时间过期规则,过了300秒就算过期
genKey节点:代表我们将当前httprequest通过简单的将url进行md5加密生成一个唯一的key,来标识这个httprequest
store节点: 代表我们使用内存存储生成的html缓存。
合到一起大概意思是:将url里面包括index.aspx的页面生成html静态缓存存到内存里,缓存5分钟。
至于第二个rule相信大家一看就明白是什么意思了。
我先写到这里,就当我是做个测试, 虽然在博客园“吸血”很久了, 但还是第一次写博文,写的不好,希望大家谅解。 如果大家对这个东西感兴趣,
下篇文章我将放出源码。事实上高手们应该也知道大概是个什么东西….谢谢!