【发布时间】:2015-04-30 03:00:17
【问题描述】:
问题
我在 IIS 7.5 上运行的 MVC 4 应用程序上有一个 Telerik MVC UI 网格,它可能通过 AJAX 返回大量 JSON 数据,在极端情况下为 800kb 或更多。由于有效负载可能很大,我想对其进行 GZIP 压缩。对于我的生活,我无法让它工作。
控制器动作是:
public ActionResult _CustomBinding([DataSourceRequest] DataSourceRequest request, SearchMemberModel search)
{
//Do some stuff
return Json(result);
}
提琴手报告:
什么都试过了
我已确保在 IIS 中启用了动态和静态压缩:
App Web.Config 修改:
<system.webServer>
<serverRuntime frequentHitThreshold="1" frequentHitTimePeriod="10:00:00" />
<validation validateIntegratedModeConfiguration="false" />
<modules runAllManagedModulesForAllRequests="false">
<remove name="FormsAuthentication" />
</modules>
<httpCompression directory="%SystemDrive%\inetpub\temp\IIS Temporary Compressed Files">
<scheme name="gzip" dll="%Windir%\system32\inetsrv\gzip.dll" staticCompressionLevel="9" />
<dynamicTypes>
<add mimeType="text/*" enabled="true" />
<add mimeType="message/*" 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/x-javascript" enabled="true" />
<add mimeType="application/atom+xml" enabled="true" />
<add mimeType="application/xaml+xml" enabled="true" />
<add mimeType="*/*" enabled="false" />
</staticTypes>
</httpCompression>
<urlCompression doStaticCompression="true" doDynamicCompression="true" />
</system.webServer>
我已经确定ApplicationHost file has the right mime types:
<add mimeType="application/json" enabled="true" />
<add mimeType="application/json; charset=utf-8" enabled="true" />
<add mimeType="application/json;charset=utf-8" enabled="true" />
我试过suggestion here serverRuntimefrequentHitThreshold 需要修改。
我有什么遗漏吗?
【问题讨论】:
-
但是考虑到浏览器请求10.0.0.10:70/Maps/FirstFloor.jpg,如何主要以png压缩图像。其中
Maps是一个文件夹 -
另外我还有一个问题,如果我的代码在开发机器上并且图像驻留在本地服务器上,它会影响开发和测试应用程序时的加载时间吗??
标签: c# json iis model-view-controller gzip