2015-03-31 93 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