我的Bundle配置如下:
public class BaseBundleConfig
{
public static void RegisterBundles(BundleCollection bundles)
{
bundles.Add(new ScriptBundle("~/bundles/Models").IncludeDirectory("~/Scripts/models/", "*.js", true));
bundles.Add(new ScriptBundle("~/bundles/framework").Include(
"~/Scripts/framework/frameworkmodels.js",
"~/Scripts/framework/appbase.js",
"~/Scripts/framework/directives/directives.js",
"~/Scripts/framework/services/Services.js",
"~/Scripts/framework/controllers/controllers.js",
"~/Scripts/framework/filter/filters.js",
"~/Scripts/app/filter/customFilters.js"
).Include("~/Scripts/app.js"));
bundles.Add(new StyleBundle("~/Content/css").Include(
"~/Content/libs/bootstrap/bootstrap.min.css",
"~/Content/libs/bootstrap/bootstrap-theme.min.css",
"~/Content/libs/bootstrap/angular-csp.css",
"~/Content/libs/bootstrap/mainStyle.css"
));
BundleTable.EnableOptimizations = true;
}
}
我在 index.cshtml 文件中使用 bundle,代码如下:
......
@System.Web.Optimization.Scripts.Render("~/bundles/framework")
.....
@System.Web.Optimization.Styles.Render("~/Content/css")
在IIS 8.5上发布后,捆绑和缩小的工作如预期所示,但ScriptBundle和StyleBundle两者都未压缩。响应内容类型始终为text/javascript或text/css。为什么gzip压缩不起作用? 在web.config中动态和静态内容压缩都设置为true。
<system.webServer>
<urlCompression doStaticCompression="true" doDynamicCompression="true" />
</system.webServer>
MVC程序集的版本有: System.Web.Mvc 5.2.3.0 System.Web.Optimization 1.1.0 并且动态压缩模块也已安装在服务器上。
新信息: 两个截图,第一个是IIS请求跟踪日志,显示动态压缩模块正在工作;第二个是Chrome网络选项卡响应头,为什么传输编码方式是chunked而响应不是gzip呢?
谢谢你的意见。