我有一个WCF服务。运行客户端应用程序时,我收到以下消息
传入邮件的最大邮件大小限额(65536) 超标。要增加配额,请使用MaxReceivedMessageSize 适当的绑定元素上的属性。
我还在客户端和服务器项目的相关配置中添加了MaxReceivedMessageSize属性。
我在客户端应用程序中的配置是:
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="RPBasicHttpBinding" allowCookies="true" maxReceivedMessageSize="20000000" maxBufferSize="20000000" maxBufferPoolSize="20000000">
<readerQuotas maxDepth="32" maxArrayLength="200000000" maxStringContentLength="200000000"/>
</binding>
</basicHttpBinding>
</bindings>
<client>
<endpoint address="http://localhost:40003/PersonWcfService.svc/PersonServices"
binding="basicHttpBinding"
contract="RP.Common.ServiceContract.IPersonService" name="BasicHttpBinding_IPersonService">
<identity>
<dns value="localhost" />
</identity>
</endpoint>
</client>
</system.serviceModel>
我在WCF项目中的配置是:
<system.serviceModel>
<services>
<service name="RP.WcfService.PersonWcfService" behaviorConfiguration="RP.WcfServiceBehaviour">
<endpoint address="PersonServices" binding="basicHttpBinding" bindingConfiguration="RPBasicHttpEndpointBinding" contract="RP.Common.ServiceContract.IPersonService" />
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="RP.WcfServiceBehaviour">
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
</serviceBehaviors>
</behaviors>
<bindings>
<basicHttpBinding>
<binding name="RPBasicHttpEndpointBinding" allowCookies="true" maxReceivedMessageSize="20000000" maxBufferSize="20000000" maxBufferPoolSize="20000000">
<readerQuotas maxDepth="32" maxArrayLength="200000000" maxStringContentLength="200000000"/>
</binding>
</basicHttpBinding>
</bindings>
</system.serviceModel>
在其他地方我应该设置MaxReceivedMessageSize属性来增加邮件大小配额?
答案 0 :(得分:2)
您是否在客户端端点配置中缺少bindingConfiguration="RPBasicHttpBinding"
...因此获取basicHttpBinding的默认配置而不是您指定的配置?
答案 1 :(得分:1)
更改服务器和使用者的配置后,请确保重新启动这些进程(重新启动服务,重新启动应用程序池等等)。
我还建议你不要在localhost下运行。 Localhost可以绕过大量设置,并且可以解决问题。