每个绑定或每个端点共享缓冲池吗?

时间:2016-11-28 16:44:28

标签: .net wcf wcf-binding

设置WCF配置以便在客户端上使用时,maxBufferPoolSize每个binding上限是一个问题,还是按endpoint创建的池?

基本上,使用bindings/basicHttpBinding条目:

<binding name="LargeBufferBinding" closeTimeout="00:05:00" openTimeout="00:05:00"
  receiveTimeout="00:30:00" sendTimeout="00:05:00" allowCookies="false"
  bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
  maxBufferPoolSize="4194304" maxBufferSize="4194304" maxReceivedMessageSize="4194304"
  textEncoding="utf-8" transferMode="Buffered" useDefaultWebProxy="true"
  messageEncoding="Text">
  <readerQuotas maxDepth="32" maxStringContentLength="4194304" maxArrayLength="16384" maxBytesPerRead="4096" maxNameTableCharCount="16384" />
  <security mode="None">
    <transport clientCredentialType="None" proxyCredentialType="None"
      realm="" />
    <message clientCredentialType="UserName" algorithmSuite="Default" />
  </security>
</binding>

以后,client条目:

<endpoint address="..." binding="basicHttpBinding" bindingConfiguration="LargeBufferBinding" contract="..." name="Svc1"/>
<endpoint address="..." binding="basicHttpBinding" bindingConfiguration="LargeBufferBinding" contract="..." name="Svc2"/>
<endpoint address="..." binding="basicHttpBinding" bindingConfiguration="LargeBufferBinding" contract="..." name="Svc3"/>
<endpoint address="..." binding="basicHttpBinding" bindingConfiguration="LargeBufferBinding" contract="..." name="Svc4"/>

对于那些4MB或16MB的WCF服务,客户端是否会被限制在缓冲池中?

0 个答案:

没有答案