首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在Windows Azure动态内容上启用gzip HTTP压缩?

如何在Windows Azure动态内容上启用gzip HTTP压缩?
EN

Stack Overflow用户
提问于 2018-04-19 01:50:58
回答 2查看 0关注 0票数 0

我一直试图在我的Windows Azure托管的WCF Restful服务上启用gzip HTTP压缩失败,该服务仅从GET和POST请求返回JSON。

我已经尝试了很多东西,因此我很难列出所有这些东西,现在我意识到我一直在处理相互冲突的信息(关于旧版本的azure等),所以认为最好从一个干净的石板开始!

我正在使用Visual Studio 2008,使用2010年2月的Visual Studio工具。

代码语言:javascript
复制
<urlCompression doStaticCompression="true" 
         doDynamicCompression="true"
         dynamicCompressionBeforeCache="true" 
/>

但我没有得到压缩。这并没有帮助,我不知道urlCompressionhttpCompression之间有什么不同。

可以,事实上Visual Studio的工具是在支持压缩的Azure版本之前发布的,会是一个问题吗?我已经阅读过某些地方,使用最新的工具,可以选择在发布时要使用的Azure操作系统版本......但我不知道这是否正确。我可以使用预先启用http的版本吗?

EN

回答 2

Stack Overflow用户

发布于 2018-04-19 10:40:06

编辑ServiceDefinition.csdef文件以将其包含在WebRole标记中:

代码语言:javascript
复制
    <Startup>
      <Task commandLine="EnableCompression.cmd" executionContext="elevated" taskType="simple"></Task>
    </Startup>

在网络中,创建一个文本文件并将其保存为“EnableCompression.cmd”

EnableCompression.cmd应该包含这个:

代码语言:javascript
复制
%windir%\system32\inetsrv\appcmd set config /section:urlCompression /doDynamicCompression:True /commit:apphost
%windir%\system32\inetsrv\appcmd set config  -section:system.webServer/httpCompression /+"dynamicTypes.[mimeType='application/json; charset=utf-8',enabled='True']" /commit:apphost

这为web角色返回的json启用了动态压缩

票数 0
EN

Stack Overflow用户

发布于 2018-04-19 11:30:14

问题是MIME类型不匹配。WCF返回JSON响应Content-Type: application/json; charset=UTF-8。大约在该页面一半处的默认IIS配置不包括作为可压缩MIME类型。

现在,可能会向<httpCompression>web.config中添加一个节,并添加application / json。只能<httpCompression>在applicationHost.config级别更改元素。

所以有两种可能的解决方案。首先,可以将WCF响应更改为使用默认配置中可压缩的MIME类型。text/json将工作,所以添加到服务方法(S)会给你动态压缩:WebOperationContext.Current.OutgoingResponse.ContentType = "text/json";

或者,可以使用appcmd和启动任务更改applicationHost.config文件。这是讨论(除其他事项)在这个线程。请注意,如果添加该启动任务并在开发结构中运行它,它将会运行一次。第二次它会失败,因为你已经添加了配置元素。我最终创建了另一个具有单独csdef文件的云项目,以便我的devfabric不会运行该启动脚本。可能还有其他解决方案。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100008185

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档