利用HttpHandler生成静态页面2011-12-13 博客园 小强看了静态页转换平台(StaticPol)-静态页生成终极解决方案后,就做了我现在放上来的这个东西,也是转成静态页面的,紧限于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的实现 这个比较简单的,大家看看源代码就知道了。 主要是判断 请求的页面是否需要生成静态页面,若需要,则判断 静态页面是否存在 或者存在但是否已经过期 不存在,或存在但过期的页面需要重新生成。