捆绑和缩小是两个性能改进提高应用程序在请求负载时的技术。目前大多数的主流浏览器限制每个主机同时连接到六个数量。这意味着,在一个时间,所有的其他请求将被浏览器排队。
启用捆绑和缩小
为使捆绑和缩小MVC应用程序,打开Web.config文件的配置解决。 在该文件中搜索System.Web编译设置:
<system.web>
<compilation debug="true" />
</system.web>
默认情况下,调试参数设置为true,这意味着捆绑和缩小被禁用。请将此参数设置为false。
捆绑
为了提高应用程序的性能,ASP.NET MVC提供了内置的功能来捆绑多个文件合并为一个文件,进而改善较少的HTTP请求的页面加载并提高性能。
捆绑是文件的一个简单的逻辑组,可以通过唯一的名称来参照和加载一个HTTP请求。
默认情况下,MVC应用程序的BundleConfig(位于App_Start文件夹中)使用下面的代码:
public static void RegisterBundles(BundleCollection bundles)
{
// Following is the sample code to bundle all the css files in the project
// The code to bundle other javascript files will also be similar to this
bundles.Add(new StyleBundle("~/Content/themes/base/css").Include(
"~/Content/themes/base/jquery.ui.core.css",
"~/Content/themes/base/jquery.ui.tabs.css",
"~/Content/themes/base/jquery.ui.datepicker.css",
"~/Content/themes/base/jquery.ui.progressbar.css",
"~/Content/themes/base/jquery.ui.theme.css"));
}
上面的代码基本上所有的捆绑中存在于Content/themes/base 文件夹中的CSS文件到一个文件中。
缩小
缩小是通过缩短变量名优化JavaScript,CSS代码,另一个性能改进的技术,去除不必要的空格,换行和注释等这反过来又降低文件的大小,并有助于应用程序加载速度。
缩小使用Visual Studio和Web扩展
对于使用这个选项,Visual Studio先安装Web要点扩展。在此之后,当鼠标右键点击任何CSS或JavaScript文件,它会显示你创建该文件的版本缩小的选择。
所以,如果有一个名为Site.css的CSS文件,它会创建其精缩版本Site.min.css。
现在,下一次当应用程序将在浏览器中运行,它会捆绑并运行如下所有的CSS和JS文件,从而提高应用程序的性能。