2015-03-31 94 views
2

我有一個網站設置在Umbraco V7,我想縮小所有發送到客戶端的HTML。我試過通過RegisterGlobalFilters使用WebMarkupMin,但沒有任何反應。壓縮/縮小在C#中的HTML MVC

我的代碼

〜/ App_Start/FilterConfig.cs

public class FilterConfig 
{ 
    public static void RegisterGlobalFilters(GlobalFilterCollection filters) 
    { 
     filters.Add(new HandleErrorAttribute()); 
     filters.Add(new MinifyHtmlAttribute()); 
    } 
} 

〜/ Global.asax.cs中

public class MvcApplication : System.Web.HttpApplication 
{ 
    protected void Application_Start() 
    { 
     AreaRegistration.RegisterAllAreas(); 

     WebApiConfig.Register(GlobalConfiguration.Configuration); 
     FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); 
     RouteConfig.RegisterRoutes(RouteTable.Routes); 
    } 
} 

如果請幫助我。我不知道我錯過了什麼。或者,如果我試圖做到這一點的方式是無望的,我也樂於聽到其他方式來實現這一目標。

+0

您是否嘗試將屬性放置在特定操作上以查看它是否有效?可能是不支持全局註冊。它可能*應該*像你一樣工作,但他們自己的[文檔](https://webmarkupmin.codeplex.com/wikipage?title=WebMarkupMin%200.9.2#WebMarkupMinAspNetMvcExtensions_Chapter)只顯示它用於直接裝飾動作。 – Bryan

+0

我試過了,但它也沒有工作。但我認爲這與Umbraco有關。也許? –

回答

0

嘗試基於HttpModule的解決方案。 (Works的MVC和Web表單) 例如,這是一個非常簡單的:minify-html-for-asp-net

+0

我剛試過它,它的工作原理。謝謝!!! –

1

WebMarkupMin 1.X這是不可能的註冊類MinifyHtmlAttributeMinifyXhtmlAttributeMinifyXmlAttributeCompressContentAttribute作爲全局過濾器的實例,但在WebMarkupMin 2.X解決了這個問題。

卸載WebMarkupMin.Mvc模塊並將其替換爲WebMarkupMin.AspNet4.Mvc模塊。另外,我建議您閱讀文檔的「How to upgrade applications to version 2.X」部分。

+0

我正在嘗試這個,但我沒有看到任何結果......你是否讓它工作? – rosko

+0

@rosko,也許你沒有在發佈模式下切換web應用程序。 –

+0

是的,我在測試它之前忘記了在我的Web.config中禁用調試模式:)現在它在發佈模式下工作。謝謝! – rosko