我有一个WCF服务,它从数据库返回1000条记录到客户端.我有一个ASP.NET WCF客户端(我在asp.net Web应用程序项目中添加了服务引用以使用WCF).
运行客户端应用程序时收到以下消息:
已超出传入邮件的最大邮件大小限额(65536).要增加配额,请在相应的绑定元素上使用MaxReceivedMessageSize属性.
有帮助吗?如何增加邮件大小配额?
我遇到了这个明显常见的问题而且无法解决它.
如果我使用数组参数中相对较少的项目调用我的WCF Web服务(我已经测试了多达50个),一切都很好.
但是,如果我使用500个项目调用Web服务,则会收到错误请求错误.
有趣的是,我在服务器上运行Wireshark,看起来请求甚至没有命中服务器 - 客户端正在生成400错误.
例外是:
System.ServiceModel.ProtocolException: The remote server returned an unexpected response: (400) Bad Request. ---> System.Net.WebException: The remote server returned an error: (400) Bad Request.
Run Code Online (Sandbox Code Playgroud)
system.serviceModel我的客户端配置文件的部分是:
<system.serviceModel>
<bindings>
<wsHttpBinding>
<binding name="WSHttpBinding_IMyService" closeTimeout="00:01:00"
openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
bypassProxyOnLocal="false" transactionFlow="false" hostNameComparisonMode="StrongWildcard"
maxBufferPoolSize="524288" maxReceivedMessageSize="2147483647"
messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true"
allowCookies="false">
<readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="2147483647"
maxBytesPerRead="4096" maxNameTableCharCount="16384" />
<reliableSession ordered="true" inactivityTimeout="00:10:00"
enabled="false" />
<security mode="None">
<transport clientCredentialType="Windows" proxyCredentialType="None"
realm="" />
<message clientCredentialType="Windows" negotiateServiceCredential="true"
establishSecurityContext="true" />
</security>
</binding>
</wsHttpBinding>
</bindings> …Run Code Online (Sandbox Code Playgroud)