Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/266.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# asp.net mvc捆绑包gzip压缩不起作用_C#_Asp.net Mvc_Asp.net Mvc 5_Bundling And Minification_Iis 8.5 - Fatal编程技术网

C# asp.net mvc捆绑包gzip压缩不起作用

C# asp.net mvc捆绑包gzip压缩不起作用,c#,asp.net-mvc,asp.net-mvc-5,bundling-and-minification,iis-8.5,C#,Asp.net Mvc,Asp.net Mvc 5,Bundling And Minification,Iis 8.5,我的包配置如下所示: public class BaseBundleConfig { public static void RegisterBundles(BundleCollection bundles) { bundles.Add(new ScriptBundle("~/bundles/Models").IncludeDirectory("~/Scripts/models/", "*.js", true)); bundles.Add(new

我的包配置如下所示:

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;

    }
}
我使用bundle的inside index.cshtml如下:

......
@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网络选项卡响应头。为什么传输编码:分块且响应不是gzip:\

感谢您的想法

之前或之后向web.config添加一个
部分。这是我的:

<httpCompression directory="%SystemDrive%\websites\_compressed" minFileSizeForComp="1024">
    <scheme name="gzip" dll="%Windir%\system32\inetsrv\gzip.dll" />
    <dynamicTypes>               
        <add mimeType="text/*" enabled="true" />
        <add mimeType="message/*" enabled="true" />
        <add mimeType="application/javascript" enabled="true" />
        <add mimeType="application/x-javascript" enabled="true" />
        <add mimeType="application/json" enabled="true" />
        <add mimeType="*/*" enabled="false" />
    </dynamicTypes>
    <staticTypes>
        <add mimeType="text/*" enabled="true" />
        <add mimeType="message/*" enabled="true" />
        <add mimeType="application/javascript" enabled="true" />
        <add mimeType="application/x-javascript" enabled="true" />
        <add mimeType="application/json" enabled="true" />
        <add mimeType="*/*" enabled="false" />
    </staticTypes>
</httpCompression>

注意,除非捆绑包是1024字节或更大(
minFileSizeForComp
),否则这不会生效,这样就不会浪费时间压缩已经非常小的文件


另外请注意,您需要确保gzip.dll位于此文件夹中。

我发现了问题点,客户端和IIS之间的硬件防火墙解压缩了gzip数据,并在处理完内容后,将其分块发送给客户端,当我尝试从公司外的其他客户端进行压缩时,gzip压缩工作与我预期的一样

对于IIS 7.5,但可能会有所帮助-只是添加了配置,但没有成功抱歉,这不起作用。您是否已经完成了James提供的链接中的所有故障排除?有很多因素可能会导致gzip不能像您可能遇到的那样工作。在摆弄服务器3个小时后,问题就解决了。有没有办法克服这个问题?