我想从 WCF 3.5 服务发送压缩数据作为响应并访问 WPF 应用程序中的响应。我在 IIS 上托管了 WCF 应用程序并实现了 IIS 压缩以向客户端发送压缩响应。我通过参考以下链接实现了 iis 压缩
当我在 MVC 应用程序中访问该 WCF 服务时,压缩工作正常。但是当我尝试在 WPF 应用程序 Fiddler 中访问相同的 WCF 服务时,显示服务响应没有被压缩。
请帮我解决这个问题。
我想从 WCF 3.5 服务发送压缩数据作为响应并访问 WPF 应用程序中的响应。我在 IIS 上托管了 WCF 应用程序并实现了 IIS 压缩以向客户端发送压缩响应。我通过参考以下链接实现了 iis 压缩
当我在 MVC 应用程序中访问该 WCF 服务时,压缩工作正常。但是当我尝试在 WPF 应用程序 Fiddler 中访问相同的 WCF 服务时,显示服务响应没有被压缩。
请帮我解决这个问题。
在 MVC 和 WPF(Windows) 应用程序中,我们在配置文件中添加了以下绑定设置
<basicHttpBinding>
<binding name="EndPointHTTP" closeTimeout="00:59:00" openTimeout="00:59:00" receiveTimeout="00:59:00" sendTimeout="00:59:00"
allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard" maxBufferSize="2147483647"
maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647"
messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered" useDefaultWebProxy="true">
<readerQuotas maxDepth="32" maxStringContentLength="2147483647" maxArrayLength="2147483647"
maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
<security mode="None">
</security>
</binding>
</basicHttpBinding>
<client>
<endpoint address="http://ntvmsynrpt0389/SynergyLiteServicetInternet/SystemAdmin/SystemAdminService.svc"
binding="basicHttpBinding" bindingConfiguration="EndPointHTTP"
contract="ISystemAdmin" name="SystemAdminServiceEndpoint" behaviorConfiguration="CallContextEndpointBehavior">
</endpoint>
</client>
我们在 MVC 中将标头作为
请求标头
POST /SynergyAfricaServices/SystemAdmin/SystemAdminService.svc HTTP/1.1 内容类型:application/soap+xml;charset=utf-8 主机:ntvmsynrpt0389.fps.nihilent.com 内容长度:4132 预期:100-继续接受编码:gzip,放气
响应头
HTTP/1.1 200 OK 内容类型:application/soap+xml;charset=utf-8 内容编码:gzip 变化:接受编码服务器:Microsoft-IIS/7.5 X-Powered-By:ASP.NET 日期:2013 年 6 月 5 日星期三 12:44:18 GMT 内容长度:1179
对于 WPF 应用程序,我们将 fidder 输出作为请求标头
POST /SynergyLiteServicetInternet/Common/InfrastructureService.svc HTTP/1.1 内容类型:文本/xml;charset=utf-8 VsDebuggerCausalityData:uIDPo93vMvxA6GNCkVCT0f7hH3cAAAAASYZ0KzDZuUqLJNzHwK2nZidcwKk9ROFEsMvZpKu5Rw0ACQAA SOAPAction:“ http://tempuri.org/IInfrastructure/LoadMenus ”主机:ntvmsynrpt0389 预期:105 内容长度:96
响应头
HTTP/1.1 200 OK 缓存控制:私有内容长度:72001 内容类型:文本/xml;charset=utf-8 服务器:Microsoft-IIS/7.5 X-AspNet-Version:4.0.30319 X-Powered-By:ASP.NET 日期:2013 年 6 月 7 日星期五 06:14:51 GMT
第二组请求标头缺少 Accept-Encoding:gzip、deflate。请按照此 SO 链接注入适当的标头。