如何压缩WCF 3.5响应&在WPF应用程序中使用WCF服务

时间:2013-06-06 09:40:48

标签: wpf wcf

我想从WCF 3.5服务发送压缩数据作为响应&在WPF应用程序中响应的访问权限。      我在IIS&amp ;;上托管了WCF应用程序。实施IIS压缩以向客户端发送压缩响应。 我通过引用以下链接实现了iis压缩

http://www.hanselman.com/blog/EnablingDynamicCompressionGzipDeflateForWCFDataFeedsODataAndOtherCustomServicesInIIS7.aspx

  

当我在MVC中访问该WCF服务时,压缩工作正常   应用。但是当我尝试在WPF中访问相同的WCF服务时   应用程序Fiddler显示服务响应未被压缩。

请帮我解决这个问题。

2 个答案:

答案 0 :(得分:0)

在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 Content-Type:application / soap + xml; charset = utf-8主持人:   ntvmsynrpt0389.fps.nihilent.com内容长度:4132期待:   100-continue Accept-Encoding:gzip,deflate

响应标题

  

HTTP / 1.1 200 OK内容类型:application / soap + xml;字符集= utf-8的   内容编码:gzip Vary:Accept-Encoding Server: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 Content-Type:text / xml;字符集= utf-8的   VsDebuggerCausalityData:   uIDPo93vMvxA6GNCkVCT0f7hH3cAAAAASYZ0KzDZuUqLJNzHwK2nZidcwKk9ROFEsMvZpKu5Rw0ACQAA   SOAPAction:&#34; http://tempuri.org/IInfrastructure/LoadMenus&#34;主办:   ntvmsynrpt0389内容长度:965期望:100-continue

响应标题

  

HTTP / 1.1 200 OK Cache-Control:private Content-Length:72001   Content-Type:text / xml; charset = utf-8服务器:Microsoft-IIS / 7.5   X-AspNet-Version:4.0.30319 X-Powered-By:ASP.NET Date:Fri,07 Jun   2013 06:14:51 GMT

答案 1 :(得分:0)

第二组请求标头缺少Accept-Encoding:gzip,deflate。请按this SO link注入适当的标题。