2016-09-28 40 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%左右的較小回應。在我看來,這仍然是值得的。

相關問題