【发布时间】:2011-04-07 02:06:18
【问题描述】:
我有一个返回大量数据的 WCF 服务。以至于我需要增加 maxBufferSize 和 maxReceivedMessageSize。我的端点和绑定如下所示:
<endpoint
address=""
binding="basicHttpBinding"
bindingConfiguration="ExtendedBinding"
contract="NAThriveExtensions.INableAPI"
/>
<bindings>
<basicHttpBinding>
<binding
name="ExtendedBinding"
maxBufferSize="655360"
maxReceivedMessageSize="655360" >
</binding>
</basicHttpBinding>
</bindings>
据我所知,以上配置正确。当我通过 WCFTestClient(服务托管在 VS 或 IIS 中)访问我的 webSerice 时,我会检查配置并
1) 客户端部分没有我的 bindingConfiguration 的名称
<client>
<endpoint
address="http://wikittybam/NAThriveExtensions/NableAPI.svc"
binding="basicHttpBinding"
bindingConfiguration="BasicHttpBinding_INableAPI"
contract="INableAPI" name="BasicHttpBinding_INableAPI" />
</client>
2) 被吸入客户端的绑定没有更新的 maxZBufferSize 或 maxReceivedMessageSize,并且传输和消息安全存根以某种方式被拉回。
<bindings>
<basicHttpBinding>
<binding name="BasicHttpBinding_INableAPI" closeTimeout="00:01:00"
openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
allowCookies="false" bypassProxyOnLocal="false"
hostNameComparisonMode="StrongWildcard"
maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
useDefaultWebProxy="true">
<readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
maxBytesPerRead="4096" maxNameTableCharCount="16384" />
<security mode="None">
<transport clientCredentialType="None" proxyCredentialType="None"
realm="" />
<message clientCredentialType="UserName" algorithmSuite="Default" />
</security>
</binding>
</basicHttpBinding>
</bindings>
我知道 bindingConfiguration 有效,因为我能够通过 WCFTestClient 测试传输安全性。任何见解将不胜感激。
谢谢!
【问题讨论】:
标签: wcf binding web-config wcf-binding