為什麼要生成靜態頁?
這個問題咱們就不多說了,他的優點只有一個,大大提高網站性能,對於數據量大、訪問量大的網站不采用靜態頁輸出的解決方案,恐怕真受不了了。缺點就不說了,一 大堆...。不過單這一個優點就值得我們研究一番。下面咱們討論一下靜態頁生成方案的常規處理方式和 StaticPol 靈活的處理方式,對他們進行一個比較。
說他是一個平台的理由:
常規方式:在每個程序中為靜態頁生成寫相應的模塊(程序),執行對應的更新,而且一般都是手動更新(首頁、分類頁、信息頁),好麻煩,即使是定時更新,也要寫 相應的程序來執行。
StaticPol:他雖然獨立運行於 Asp.Net 下,但是可以為 Asp、PHP、Asp.Net、JSP 等任何一種語言編寫的程序提供相應的靜態頁生成服務,為其提供相應的靜態頁解決 方案。
說他是終極解決方案的理由:
常規方式:要麼是寫程序批量更新,要麼就是在添加、修改或刪除的時候進行更新。前者就不多說了,簡直一個垃圾處理方式,但是還是很多人在使用,後者還好些,但 是程序就很死板,任何的一點配置上的變動都要涉及到程序的改動。
StaticPol:靜態頁的生成和更新都是發生在用戶訪問時(用戶不訪問則不生成,因為生成了也沒有意義),並且頁面的更新是通過策略來控制的,無需人工進行參與, 也就是說你只要定義好更新策略就可以,剩下的就由 StaticPol 來幫你完成。用戶訪問時生成可以節省大量的IO操作資源,策略管理更新可以達到幾乎和動態管理功能同步 的境界,所以我稱之為終極解決方案。
好了,下面就開始簡單介紹一下 StaticPol 的執行原理吧:
StaticPol 主要由兩個 aspx 文件組成。
Index.aspx : 用於處理 404 錯誤頁的處理。
UpdateStaticFile.aspx : 用於實施對生成頁面的策略更新。
Web.config : 存儲系統的配置信息,靜態更新策略信息。
下面就是我的官方站靜態更新策略的部分配置信息:
<!--
靜態頁生成策略
MakeFilePath: 靜態頁地址的規則
LookFor : 用於生成該靜態頁的動態頁面地址的規則
UpdatePolicy: 該頁生成的規則
◎ None : 無操作
◎ Handwork : 手動(和系統最後更新時間進行比較)
◎ Timespan : 時間差