Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/16.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中从JsonResult操作返回gzip json?_C#_Asp.net Mvc_Json_Iis 7_Gzip - Fatal编程技术网

C# 如何在ASP.NET MVC中从JsonResult操作返回gzip json?

C# 如何在ASP.NET MVC中从JsonResult操作返回gzip json?,c#,asp.net-mvc,json,iis-7,gzip,C#,Asp.net Mvc,Json,Iis 7,Gzip,我确实在iis7.5web服务器上正确设置了gzip,并且在大多数情况下都能正常工作 但是我可以看到响应头显示我对JsonResult方法的任何请求都不是gzip。我需要更改什么,以便JsonResult返回内容编码为gzip的数据 这是调用JsonResult方法时标题的屏幕截图: 与调用返回html的内容(例如RenderPartial())时的标题截图相比: 编辑:以下是applicationHost.config中的我的压缩设置: <httpCompression

我确实在iis7.5web服务器上正确设置了gzip,并且在大多数情况下都能正常工作

但是我可以看到响应头显示我对JsonResult方法的任何请求都不是gzip。我需要更改什么,以便JsonResult返回内容编码为gzip的数据

这是调用JsonResult方法时标题的屏幕截图:

与调用返回html的内容(例如RenderPartial())时的标题截图相比:

编辑:以下是applicationHost.config中的我的压缩设置:

    <httpCompression 
        directory="%SystemDrive%\inetpub\temp\IIS Temporary Compressed Files">
        <scheme name="gzip" dll="%Windir%\system32\inetsrv\gzip.dll" />
        <dynamicTypes>
            <add mimeType="text/*" enabled="true" />
            <add mimeType="application/json" enabled="true" />
            <add mimeType="application/json; charset=utf-8" enabled="true" />                
            <add mimeType="message/*" enabled="true" />
            <add mimeType="application/x-javascript" enabled="true" />
            <add mimeType="*/*" enabled="false" />
        </dynamicTypes>
        <staticTypes>
            <add mimeType="text/*" enabled="true" />
            <add mimeType="message/*" enabled="true" />
            <add mimeType="application/json" enabled="true" />
            <add mimeType="application/json; charset=utf-8" enabled="true" />                
            <add mimeType="application/x-javascript" enabled="true" />
            <add mimeType="application/atom+xml" enabled="true" />
            <add mimeType="application/xaml+xml" enabled="true" />
            <add mimeType="*/*" enabled="false" />
        </staticTypes>
    </httpCompression>

请确保位于%WinDir%\System32\inetsrv\config\applicationHost.config的IIS applicationHost.config文件包含以下代码块


请确保位于%WinDir%\System32\inetsrv\config\applicationHost.config的IIS applicationHost.config文件包含以下代码块


您的配置看起来正确。可能是您尚未达到IIS开始压缩所有内容的阈值

试试这个: 在IIS管理器中,转到配置编辑器,并找到system.WebServer/serverRuntime。 查看frequentHitThreshold和frequentHitTimePeriod设置,并将其下拉以确保在测试时满足阈值

以下是更多阅读:

您的配置看起来是正确的。可能是您尚未达到IIS开始压缩所有内容的阈值

试试这个: 在IIS管理器中,转到配置编辑器,并找到system.WebServer/serverRuntime。 查看frequentHitThreshold和frequentHitTimePeriod设置,并将其下拉以确保在测试时满足阈值

以下是更多阅读:

不幸的是,这些设置已经设置为TRUE。我已经用我的压缩设置更新了这个问题。不幸的是,这些设置已经设置为TRUE。我已经用我的压缩设置更新了这个问题。如果您更改)applicationHost.config和web.config中的urlCompression设置是什么?如果您更改)applicationHost.config和web.config中的urlCompression设置是什么?对不起,我试着设置
frequenthitsthreshold=1
,但仍然没有帮助。对不起,我试着设置
frequenthitshold=1
,但仍然没有帮助。