2013-03-30 37 views
1

wcf无法检索超过100行的数据集。它显示消息“已超过传入消息的最大消息大小限额(65536)。要增加限额,请在适当的绑定元素上使用MaxReceivedMessageSize属性。” 但里面的web.config WCF的项目,我做了绑定如下图所示增加wcf的响应大小

<bindings> 
    <basicHttpBinding> 
    <binding name="basicHttp" allowCookies="true" 
      maxReceivedMessageSize="20000000" 
      maxBufferSize="20000000" 
      maxBufferPoolSize="20000000"> 
     <readerQuotas maxDepth="32" 
      maxArrayLength="200000000" 
      maxStringContentLength="200000000"/> 
    </binding> 
    </basicHttpBinding> 
</bindings> 
<client> 
    <endpoint binding="basicHttpBinding" bindingConfiguration="wsHttpBinding_ILabelService" contract="LabelService.ILabelService" name="BasicHttpBinding_ILabelService"/> 
</client> 

<services> 
    <service name="projectname.Service1" behaviorConfiguration="projectname.Service1Behavior"> 
    <!-- Service Endpoints --> 
    <endpoint address="" binding="wsHttpBinding" contract="projectname.IService1"> 
     <!-- 
      Upon deployment, the following identity element should be removed or replaced to reflect the 
      identity under which the deployed service runs. If removed, WCF will infer an appropriate identity 
      automatically. 
     --> 
     <identity> 
     <dns value="localhost"/> 
     </identity> 
    </endpoint> 
    <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/> 
    </service> 
</services> 

<behaviors> 
    <serviceBehaviors> 
    <behavior name="projectname.Service1Behavior"> 
     <!-- To avoid disclosing metadata information, set the value below to false and remove the metadata endpoint above before deployment --> 
     <serviceMetadata httpGetEnabled="true"/>   
     <!-- 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="true"/> 

    </behavior> 
    </serviceBehaviors> 
</behaviors> 


请帮助。

+0

您的代码不可见,因为您尚未添加它。请编辑您的帖子并添加必要的代码,您正在谈论。 –

+0

您是否在客户端和服务器上具有相同的配额设置?一个常见的错误是,只有在服务器和客户端的配置中你增加了配额,仍然只能发送65 kB(或相反) – tchrikch

+0

这意味着什么?目前正在本地运行它,我只在web.config中更改 – Anand

回答

0
<system.serviceModel> 
    <bindings> 
     <basicHttpBinding> 
      <binding name="BasicHttpBinding_ILabelService" closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00" allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard" maxBufferSize="3145728" maxBufferPoolSize="524288" maxReceivedMessageSize="3145728" messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered" useDefaultWebProxy="true"> 
       <readerQuotas maxDepth="32" maxStringContentLength="3145728" maxArrayLength="16384" maxBytesPerRead="4096" maxNameTableCharCount="16384"/> 
      </binding> 
     </basicHttpBinding> 
    </bindings> 
    <client> 
     <endpoint binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_ILabelService" contract="LabelService.ILabelService" name="BasicHttpBinding_ILabelService"/> 
    </client> 
</system.serviceModel> 

编辑

必须设定端点绑定名称。在你的配置中试试这个。 注意:您的必须将contract设置为具有完整名称空间结构的服务类名称,并将bindingConfiguration设置为您的绑定帐号name

<client> 
    <endpoint binding="basicHttpBinding" bindingConfiguration="basicHttp" contract="YourNamespace.YourServiceClassName" name="BasicHttpBinding_ILabelService"/> 
</client> 
+0

它显示相同的信息 – Anand

+0

您是否设置了正确的绑定配置? bindingConfiguration =“wsHttpBinding_Username” – Fanda

+0

雅,是否有任何其他设置要求 – Anand