自动生成的代码是有问题的,需要手动修改,你可以先用普通的方式引用服务,然后两边一起修改这个gzip部分,他那个仅仅是不符合内置的验证规则,并不代表不能使用。

解决方案 »

  1.   

    把dll引用进去 。webconfig配置好 。提示的那个先不管 。直接运行看看效果!
      

  2.   

      <system.serviceModel>
          <bindings>
              <webHttpBinding>
                  <binding name="NewBinding1" maxReceivedMessageSize="2147483647">
                      <readerQuotas maxStringContentLength="2147483647"/>
                  </binding>
              </webHttpBinding>
          </bindings>
          
          <behaviors>
            <serviceBehaviors>
                <!--错误给返回客户端-->
                <behavior>
                    <serviceDebug includeExceptionDetailInFaults="true" />
                </behavior>
            </serviceBehaviors>
          <endpointBehaviors>
            <behavior name="XXXXXXXX">
              <enableWebScript/>
            </behavior>
          </endpointBehaviors>
        </behaviors>
        <serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true"/>
        <services>
          <service name="XXXXXXXX">
            <endpoint address="" bindingConfiguration="NewBinding1" behaviorConfiguration="XXXXXXXX" binding="webHttpBinding" contract="XXXXXXXX"/>
          </service>
        </services>
      </system.serviceModel> 
    允许传输设置到最大值,应该够用了吧
      

  3.   

     <gzipMessageEncoding innerMessageEncoding="textMessageEncoding">
                <readerQuotas maxDepth="32" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="4096" maxNameTableCharCount="16384" />
              </gzipMessageEncoding>
      

  4.   

    服务端客户端都得引用GZipEncoder.dll