2010-01-29 81 views
1

我在我的應用程序中實現此庫,GZip compress your website's HTML/CSS/Script in codeASP.NET gzip腳本和CSS Global.asax

它工作得很好,如果我跑在Visual Studio中,的網站時,我編譯我的網站,併發布在IIS只gzip的ASPX文件,而不是CSS或JavaScript文件。

在C#中對應於Visual Studio 2005(更改IIS不是一個選項,因爲它必須在代碼中)才能實現JavaScript和CSS gzip。

+0

什麼版本的IIS您使用的是? – 2010-01-29 18:41:44

回答

0

首先,你需要創建一個HttpHandler處理它:

namespace com.waynehartman.util.web.handlers 
{ 
    [WebService(Namespace = "http://waynehartman.com/")] 
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] 
    public class HttpCompressor : IHttpHandler 
    { 
     public void ProcessRequest(HttpContext context) 
     { 
      // Code for compressing the file and writing it to the HttpResponse 
     } 
     public bool IsReusable 
     { 
      get { return true; } 
     } 
    } 
} 

然後,你需要在你的web.config添加處理程序映射:

<configuration> 
    <system.web> 
     <httpHandlers> 
      <add verb="*" path="*.css" 
       type="com.waynehartman.util.web.handlers.HttpCompressor, WayneHartmanUtilitiesLibrary"/> 
      <add verb="*" path="*.js" 
       type="com.waynehartman.util.web.handlers.HttpCompressor, WayneHartmanUtilitiesLibrary"/> 
     </httpHandlers> 
    </system.web> 
</configuration> 
+0

和FullyQualified.Class和LibraryName將? – jmpena 2010-01-29 21:57:22

+0

據我所知HttpHandlers是將多個文件合併爲一個,或者類似的東西。 – jmpena 2010-01-29 21:59:17

+0

@jmpena HttpHandlers用於創建任何自定義的http請求或響應處理。它們旨在讓你做到你正在嘗試做的事情。 – 2010-01-31 16:21:34