卷土重來之staticHtml基礎使用教程


前段時間發布了一個asp.net生存html緩存的東西,老實說坑了蠻多的人,bug比較多, 經過這段時間的測試與改進,應該到了可以使用的地步了,

歡迎大家測試與使用,下面我介紹使用教程,對了,這里感謝一下猴子,他幫我測試了很多。

首先請將StaticHtml.dll添加引用,或者拷貝到bin目錄中,下面是具體配置說明

注意:下面的配置步驟都是在web.config中操作。

1. 添加StaticHtml配置文件讀取節點

在configuration/configSections添加如下節點

<section name="staticHtml" type="StaticHtml.StaticHtmlSection,StaticHtml"/>

添加StaticHtml

2. 添加HttpModule

在configuration/system.web/httpModules中,添加

<add name="staticHtml" type="StaticHtml.HttpModule,StaticHtml"/>

如果這樣配置,用瀏覽器訪問任意一個頁面,如果根目錄下沒有生成staticHtml_log.txt這個文件,請將上面的節點,添加到configuration/system.webServer/httpModule中

當然,請確保你服務器能正確加載httpmodule,因為有可能你的服務器配置,根本就不能加載任何httpmodule。請參考asp.net mvc配置

3. 配置自己站點的生成緩存規則

在configuration中添加如下節點

<staticHtml skip="admin/" run="on">

<rule name=" index ">

<patten type="StaticHtml.RegexPatten,StaticHtml" pars="RegPatten=index \.aspx"/>

<store type="StaticHtml.MemStore,StaticHtml"/>

<genKey type="StaticHtml.UrlMd5GenKey,StaticHtml"/>

<expire type="StaticHtml.TimeExpire,StaticHtml"  pars="Second=300"/>

</rule>

<rule name="content">

<patten type="StaticHtml.RegexPatten,StaticHtml" pars="RegPatten=article/"/>

<store type="StaticHtml.FileStore,StaticHtml" pars="Path=cacheHtml_article/"/>

</rule>

</staticHtml>

上面的配置,定義了2個規則,

第一個規則,

<rule name=" index ">

<patten type="StaticHtml.RegexPatten,StaticHtml" pars="RegPatten=index\. aspx "/>

<store type="StaticHtml.MemStore,StaticHtml"/>

</rule>

規則,這個規則的名字叫做index,

patten節點 如果url中匹配index\. aspx 這個正則表達式,則緩存。

store節點 將緩存的html保存到內存中

genKey 節點 將request.rawRul通過md5加密生成key,在statichtml非常重要,代表了一個唯一的緩存頁面,

expire節點 意味着緩存300秒(5分鍾)

第二個規則

<rule name="content">

<patten type="StaticHtml.RegexPatten,StaticHtml" pars="RegPatten=article/"/>

<store type="StaticHtml.FileStore,StaticHtml" pars="Path=cacheHtml_article/"/>

</rule>

這個規則的名字叫做content(規則名字不能重復)

patten 節點 如果url中匹配article/這個正則表達式的,就緩存

store節點 將緩存的保存到根目錄下面/cacheHtml_article中

StaticHtml節點 skip屬性 admin/ 代表如果url能匹配這個正則表達式,則不緩存。

提示:staticHtml節點skip 屬性,patten節點的 pars屬性, 都是可以配置正則表達式的, 就是一個純粹的正則表達式,可以寫的很復雜,也可以很簡單。

4. 其他補充

1:下篇文字我將詳細介紹如何擴展statichtml

2:下載statichtml.dll(這是最新版,使用gzip壓縮存儲,大大減少磁盤占用,網站流量。)

3:源碼還是在github上https://github.com/tianqiq/StaticHtml

4:經網友測試發現,在4.0,4.5 .net上會出現刷新后,就空白的情況。所以請將項目的.net版本設置為3.5,即可。(真沒想到這么多童鞋是用4.0甚至4.5了)

 

 

更新:

現在已經修復4.0以上刷新后,空白的情況, 歡迎測試與使用。(2013/7/21)

代碼已經更新到github上, 請從這里下載最新dll http://url.cn/H5TSeH


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM