簡體   English   中英

為什么ASP.NET gzip壓縮會破壞CSS?

[英]Why is ASP.NET gzip compression corrupting CSS?

我有一個ASP.NET webforms應用程序(3.5 SP1),我正在努力,並嘗試啟用管道下的gzip fpr HTML和CSS。 我正在使用這個實現 (並嘗試了其他幾個掛鈎到Application_BeginRequest),它似乎破壞了頁面使用的外部CSS文件,但間歇性地......突然所有樣式都會在頁面刷新時消失,保持方式一段時間,然后突然重新開始工作。

IE7和FF3都表現出這種行為。 使用Web開發人員工具欄查看CSS時,它返回亂碼。 緩存控制標題是“私有”,但我不知道是否是一個影響因素。

此外,它在ASP.NET Development Server上運行。 也許它適用於IIS,但我正在開發XP,它是IIS5。

只有CSS文件被破壞了嗎? JS文件(或任何其他靜態文本文件)是否可以通過?

如果直接瀏覽CSS文件,也可以復制行為嗎?

我只使用這種方法在Windows 2003服務器的IIS上啟用壓縮:

  1. IIS→網站→屬性→服務選項卡,選中兩個框
  2. IIS→Web服務擴展→右鍵單擊,添加新
    \n   名稱\n       Http壓縮 \n   所需文件\n       %SYSTEMROOT%\\ SYSTEM32 \\ INETSRV \\ gzip.dll 
  3. IIS→右鍵單擊頂部節點,Internet信息服務,選中“ 啟用直接元數據庫編輯”
  4. 備份和編輯%systemroot%\\system32\\inetsrv\\MetaBase.xml
    1. 查找Location ="/LM/W3SVC/Filters/Compression/gzip"
      • pngcssjs和任何其他靜態文件擴展名添加到HcFileExtensions
      • aspx和任何其他可執行擴展添加到HcScriptFileExtensions
      • 保存
  5. 重啟IIS(運行iisreset

如果你有一個Windows 2003/2008服務器可以嘗試這種方法。

如果要在IIS 6或IIS 7上進行部署,只需使用內置的IIS壓縮。 我們在生產網站上使用它來壓縮HTML,CSS和JavaScript,沒有任何錯誤。 它還將壓縮版本緩存在服務器上,因此壓縮命中僅執行一次。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM