利用HttpHandler生成静态页面
看了静态页转换平台(StaticPol)-静态页生成终极解决方案后,
http://nurong.cnblogs.com/archive/2005/11/16/255439.html
就做了我现在放上来的这个东西,也是转成静态页面的,紧限于dotNet使用(我是用 HttpHandler处理的),并且也很简单,主要是实现我想要的功能了,不足的地方肯定是很多的(后面我会提到两点),希望不是耽误你的时间。
下面说说具体的实现:
1.Web.config里的配置
2.策略配置文件
3.HttpHandler的实现
这个比较简单的,大家看看源代码就知道了。 主要是判断 请求的页面是否需要 生成静态页面, 若需要,则判断 静态页面是否存在 或者存在但是否已经过期 不存在,或存在但过期的页面需要重新生成。
源代码 http://www.cnblogs.com/files/hsqzzzl/ToStaticPage(Beta2).rar <script src="/Script/Embed.js" type="text/javascript"></script> <script src="http://p.alimama.com/inf.js" type="text/javascript"></script> id="alimamatmpf0.17110906782736107" border="0" name="alimamatmpf0.17110906782736107" marginwidth="0" marginheight="0" src="http://p.mm.cn.yahoo.com/alimamal.php?u=http%3A%2F%2Fwww.chenjiliang.com%2FArticle%2FView.aspx%3FArticleID%3D245%26TypeID%3D5&i=mm_10047322_140881_330115&re=1024x768&sz=12&r=http%3A%2F%2Fwww.chenjiliang.com%2FArticle%2FView.aspx%3FArticleID%3D2259%26TypeID%3D5&sx=825&sy=1146&w=468&h=60" frameborder="0" width="0" scrolling="no" height="0">
看了静态页转换平台(StaticPol)-静态页生成终极解决方案后,
http://nurong.cnblogs.com/archive/2005/11/16/255439.html
就做了我现在放上来的这个东西,也是转成静态页面的,紧限于dotNet使用(我是用 HttpHandler处理的),并且也很简单,主要是实现我想要的功能了,不足的地方肯定是很多的(后面我会提到两点),希望不是耽误你的时间。
下面说说具体的实现:
1.Web.config里的配置
<!--配置策略config文件地址-->
<appSettings>
<add key="ConfigFilePath" value="Config/StaticTactic.Config" />
</appSettings>
......(省略)
<!--配置httpHandler-->
<httpHandlers>
<add path="*.aspx" verb="*" type="Hsq.Library.ToStaticPage.ProcessorHandler, ToStaticPage"/>
</httpHandlers>
2.策略配置文件
<!--
Rules.Root : 生成的静态页面在Web站点中的根目录文件夹
Rules.TimeSpan : 默认的过期时间差(以 分钟 为单位)
LookFor : 需要生成静态页面的页面
TimeSpan : 静态页面的过期时间差(以 分钟 为单位)
-->
<StaticTacConfig>
<Rules Root="HTML" TimeSpan="10">
<TacRule LookFor="Default.aspx">
<TimeSpan>1</TimeSpan>
</TacRule>
<TacRule LookFor="Product/Sort.aspx">
<TimeSpan>10</TimeSpan>
</TacRule>
</Rules>
</StaticTacConfig>
3.HttpHandler的实现
这个比较简单的,大家看看源代码就知道了。 主要是判断 请求的页面是否需要 生成静态页面, 若需要,则判断 静态页面是否存在 或者存在但是否已经过期 不存在,或存在但过期的页面需要重新生成。
源代码 http://www.cnblogs.com/files/hsqzzzl/ToStaticPage(Beta2).rar <script src="/Script/Embed.js" type="text/javascript"></script> <script src="http://p.alimama.com/inf.js" type="text/javascript"></script> id="alimamatmpf0.17110906782736107" border="0" name="alimamatmpf0.17110906782736107" marginwidth="0" marginheight="0" src="http://p.mm.cn.yahoo.com/alimamal.php?u=http%3A%2F%2Fwww.chenjiliang.com%2FArticle%2FView.aspx%3FArticleID%3D245%26TypeID%3D5&i=mm_10047322_140881_330115&re=1024x768&sz=12&r=http%3A%2F%2Fwww.chenjiliang.com%2FArticle%2FView.aspx%3FArticleID%3D2259%26TypeID%3D5&sx=825&sy=1146&w=468&h=60" frameborder="0" width="0" scrolling="no" height="0">