看了靜態頁轉換平台(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的實現 這個比較簡單的,大家看看源代碼就知道了。 主要是判斷 請求的頁面是否需要生成靜態頁面,若需要,則判斷 靜態頁面是否存在 或者存在但是否已經過期 不存在,或存在但過期的頁面需要重新生成。
本文配套源碼