ASP.NET 4.X MVC - Taritsyn/WebMarkupMin GitHub Wiki
WebMarkupMin.AspNet4.Mvc package is suitable for use in web applications written in ASP.NET MVC versions 3, 4 and 5.
WebMarkupMin.AspNet4.Mvc contains 4 classes of action filters:
-
MinifyHtmlAttribute
. Produces a minification of the action result by using the HTML minification manager. -
MinifyXhtmlAttribute
. Produces a minification of the action result by using the XHTML minification manager. -
MinifyXmlAttribute
. Produces a minification of the action result by using the XML minification manager. -
CompressContentAttribute
. Produces a HTTP compression of the action result with text content type by using the HTTP compression manager.
…
using System.Web.Mvc;
using WebMarkupMin.AspNet4.Mvc;
…
namespace WebMarkupMin.Sample.AspNet4.Mvc4.Controllers
{
public class HomeController : Controller
{
…
[CompressContent]
[MinifyHtml]
[OutputCache(CacheProfile = "CacheCompressedContent5Minutes")]
public ActionResult Index()
{
…
}
…
[CompressContent]
[MinifyXhtml]
[OutputCache(CacheProfile = "CacheCompressedContent5Minutes")]
public ActionResult Contact()
{
…
}
[CompressContent]
[MinifyXml]
[OutputCache(CacheProfile = "CacheCompressedContent5Minutes")]
public ActionResult Sitemap()
{
…
}
…
}
}
Because markup minification and HTTP compression require time and server resources, then we cache the result of their work by using OutputCacheAttribute
.
Unlike older versions of WebMarkupMin, in version 2.X you can apply the action filters to controllers:
…
using System.Web.Mvc;
using WebMarkupMin.AspNet4.Mvc;
…
namespace WebMarkupMin.Sample.AspNet4.Mvc4.Controllers
{
[CompressContent]
[MinifyHtml]
[MinifyXml]
…
public class HomeController : Controller
{
…
}
}
In addition, in version 2.X you can apply the action filters at the level of whole application. For this you need to edit the App_Start/FilterConfig.cs
file as follows:
using System.Web.Mvc;
using WebMarkupMin.AspNet4.Mvc;
namespace WebMarkupMin.Sample.AspNet4.Mvc4
{
public class FilterConfig
{
public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
…
filters.Add(new CompressContentAttribute());
filters.Add(new MinifyHtmlAttribute());
filters.Add(new MinifyXmlAttribute());
…
}
}
}