2015-03-31 2 views
2

У меня есть веб-сайт, созданный в Umbraco V7, где я хочу минимизировать все html, которые отправляются клиенту. Я пробовал использовать WebMarkupMin через RegisterGlobalFilters, но ничего не происходит.Сжатие/минимизация html в C# 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

Я пробовал, но это тоже не сработало. Но я думаю, что это имеет какое-то отношение к Умбрако. Может быть? –

ответ

0

Попробуйте решение на основе HttpModule. (Работа по MVC и WebForms) Например, это один очень проста: minify-html-for-asp-net

+0

Я только что попробовал, и он работает. Благодаря!!! –

1

В WebMarkupMin 1.X было невозможно зарегистрировать экземпляры классов MinifyHtmlAttribute, MinifyXhtmlAttribute, MinifyXmlAttribute и CompressContentAttribute как глобальные фильтры, но в WebMarkupMin 2.X решить эту проблему.

Удалите модуль WebMarkupMin.Mvc и замените его на модуль WebMarkupMin.AspNet4.Mvc. Также я рекомендую вам ознакомиться с разделом документации “How to upgrade applications to version 2.X”.

+0

Я пытаюсь это прямо сейчас, но я не вижу никаких результатов ... вы каким-то образом работали? – rosko

+0

@rosko, возможно, вы не переключили веб-приложение в режиме деблокирования. –

+0

Да, я забыл отключить режим отладки в моем Web.config перед его тестированием :) Теперь он работает в режиме выпуска. Спасибо! – rosko

Смежные вопросы