程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> 關於ASP.NET >> 利用HttpHandler生成靜態頁面

利用HttpHandler生成靜態頁面

編輯:關於ASP.NET

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

本文配套源碼

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved