程式實作Http壓縮經驗分享

程式實作Http壓縮經驗分享

前言
原有專案的.net版本為 3.5,最近升上4.0後,遇到了些相關問題,在查明後都是與使用程式實作
Http壓縮的影響,幸好最後有使用某些方法修正掉。

經驗分享

在UpdatePanel內使用Response.Rediect的導頁動作就會發生錯誤,如下圖

clip_image001

後來發現的原因是在PageBase內的Page_Load有撰寫壓縮網頁的程式

clip_image002

之後參考網路文章的作法,把此段程式放在Module的PostReleaseRequestState事件處理

clip_image003

移到Module後,果然導頁就不再出現錯誤,但使用到AjaxTookit卻遇到些怪問題,例如:日曆擴充顯示出問題

clip_image004

作到此後.....心有點涼了=.=那A安呢,幸好想說這些問題應該都是Ajax及Tookie的Resource相關檔案被壓縮所造成的,

所以最後我在壓縮的方法新增.axd副檔名的判斷,若是.axd我就不壓縮,程式如下:

clip_image005

作到此終於大功告功囉,但.axd檔沒壓縮怎麼辨呢..這些檔案也蠻大的,別擔心在.net4.0

的組態有新增一個設定是幫你將Resource作壓縮的,所以程式當然也不用特定去壓縮,如下圖

clip_image006

範例下載

http://cid-fab913153ae2ed86.office.live.com/self.aspx/.Public/Code/ASP.NET/CompressUpdatePanelDemo.rar

相關參考
http://forums.asp.net/t/1149264.aspx