2016-09-28 53 views

回答

1

使用WebMarkupMin:ASP.NET 4.X MVC。安装NuGet软件包,然后在您的操作方法,控制器上使用MinifyHtmlAttribute,或在FilterConfig中的RegisterGlobalFilters中注册它。您也可以尝试CompressContentAttribute。这里是wiki:https://github.com/Taritsyn/WebMarkupMin/wiki/WebMarkupMin:-ASP.NET-4.X-MVC

如果您使用CompressContentAttribute,您将看到Content-Encoding:deflate标题,而不是Content-Encoding:gzip标题,如果您在应用此属性之前使用gzip。

一些测试号:

没有缩小或压缩: Content-Length:21594

微小只:Content-Length:19869

缩小和压缩:Content-Length:15539

你必须测试,看看你从整体上改变你的速度。

编辑:

经过详尽的测试本地和活动网站,我已经得出结论,涅槃,并在我的情况WebMarkupMin压缩HTML约10%放缓页面加载时间。只是压缩(使用CompressContentAttribute)或只是缩小也减慢了速度。所以我决定不压缩(使用CompressContentAttribute)或缩小我的HTML。

1

我建立了一个非常简单的缩小器,称为RazorHtmlMinifier.Mvc5

它在cshtml Razor文件转换为C#类时在编译时运行,所以它在运行时不会有任何性能开销。缩小是非常微不足道的,基本上只是用一个空间替换多个空间(因为有时空间仍然很重要,例如<span>Hello</span> <span>World</span><span>Hello</span><span>World</span>不同)。

源代码是非常新的,非常简单(只是one file with less than 100 lines of code)和安装只涉及NuGet包和更改Web.config文件中的一行。

而这一切,是为ASP.NET MVC 5.


通常的最新版本,它建议使用gzip编码来缩小HTTP响应,但我发现,如果你再缩小gzipping之前的HTML,你仍然可以平均得到11%左右的较小回应。在我看来,这仍然是值得的。

相关问题