2015-02-09 94 views
0

尝试使用我的WCF服务使用Mtom邮件编码来尝试&加快了从SQL Server传输大型查询结果的速度。WCF:客户端和服务绑定可能不匹配?

这里是我的服务器端WCF配置:

<service name="IsesService.IsesService"> 
    <endpoint address="" binding="basicHttpBinding" contract="IsesService.IIsesService" bindingConfiguration="basicHttp"> 
     <identity> 
     <dns value="localhost" /> 
     </identity> 
    </endpoint> 
    <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" /> 
    <host> 
     <baseAddresses> 
     <add baseAddress="http://localhost:8080"/> 
     </baseAddresses> 
    </host> 
    </service> 
</services> 
<behaviors> 
    <serviceBehaviors> 
    <behavior> 
     <!-- To avoid disclosing metadata information, 
     set the values below to false before deployment --> 
     <serviceMetadata httpGetEnabled="True" httpsGetEnabled="True" /> 
     <dataContractSerializer maxItemsInObjectGraph="2147483646" /> 
     <!-- To receive exception details in faults for debugging purposes, 
     set the value below to true. Set to false before deployment 
     to avoid disclosing exception information --> 
     <serviceDebug includeExceptionDetailInFaults="False" /> 
    </behavior> 
    </serviceBehaviors> 
</behaviors> 
<bindings> 
    <basicHttpBinding> 
    <binding name="basicHttp" messageEncoding="Mtom" allowCookies="true" 
      maxReceivedMessageSize="2147483647" 
      maxBufferSize="2147483647" 
      maxBufferPoolSize="2147483647" > 
     <readerQuotas maxDepth="32" 
      maxArrayLength="2147483647" 
      maxStringContentLength="2147483647"/> 
    </binding> 
    </basicHttpBinding> 
</bindings> 

而我的客户端(WPF应用程序)的配置:

<system.serviceModel> 
    <bindings> 
     <basicHttpBinding> 
      <binding name="basicHttp" maxBufferSize="2147483647" 
      maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647" messageEncoding="Mtom" /> 
     </basicHttpBinding> 
    </bindings> 
    <client> 
     <endpoint address="http://localhost:8080/" binding="basicHttpBinding" 
      bindingConfiguration="basicHttp" contract="ServiceReference.IIsesService" 
      name="BasicHttpBinding_IIsesService" /> 
    </client> 
</system.serviceModel> 

我得到客户端和服务绑定可能不匹配。 ...

+0

你可以在客户端添加messageEncoding =“Mtom”吗? – 2015-02-09 17:09:48

+0

不是它的绑定属性... – Hardgraf 2015-02-09 17:11:31

回答

1

绑定basicHttp的配置应该在服务和客户端上相同。您可以将<basicHttpBinding>(包括readerQuotas)之间的所有内容从您的服务配置中粘贴到您的客户端配置中进行修复。

+0

伟大的东西工作。不幸的是Motm似乎没有解决延迟问题,尽管...... – Hardgraf 2015-02-10 22:40:40