首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> ASP.NET 基礎 >> 關於ASP.NET

HttpHandler 實現自動靜態頁生成:配置驅動的過期時間與請求攔截機制

     編輯:關於ASP.NET

Web.config 設定

<appSettings>
  <add key="ConfigFilePath" value="Config/StaticTactic.Config" />
</appSettings>
<httpHandlers>
  <add path="*.aspx" verb="*" type="Hsq.Library.ToStaticPage.ProcessorHandler, ToStaticPage" />
</httpHandlers>

策略配置檔 (StaticTactic.Config)

<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>
  • Root:靜態頁輸出根目錄。
  • TimeSpan:預設過期分鐘數。
  • TacRule:單頁覆寫規則。

ProcessorHandler 邏輯

  1. 攔截 *.aspx 請求。
  2. 比對規則判斷是否需生成靜態頁。
  3. 檢查靜態檔是否存在且未過期。
  4. 不存在或過期 → 執行原 ASPX、捕獲輸出、寫入靜態檔。
  5. 直接傳送靜態檔或重導向。

原始碼開放下載,適合快速導入靜態化機制。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved