我正在尝试构建一个只能发送一些Kb数据的WCF服务。
在我的服务中有一种方法可以将11500 Array对象返回给客户端,但我想一次只返回500个数组或只返回500KB数据。
我尝试使用maxStringContentLength,maxArrayLength,maxBytesPerRead,maxNameTableCharCount但返回数据时没有变化,它返回的是相同的11500数组。
我的WCF Web.config就像这样
<bindings>
<wsHttpBinding>
<binding name="TestBinding" maxBufferPoolSize="524288" maxReceivedMessageSize="2147483647" messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true" receiveTimeout="00:25:00">
<!--<readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />-->
<readerQuotas maxStringContentLength="500" maxArrayLength="500" maxBytesPerRead="500" maxNameTableCharCount="500" />
<security mode="None">
<transport clientCredentialType="None" proxyCredentialType="None" realm="" />
<message clientCredentialType="UserName" algorithmSuite="Default" />
</security>
</binding>
</wsHttpBinding>
</bindings>
现在我有两个队列
1-如何限制数据大小
2-如何检查客户端的数据大小。我会收到多少Kb。
我想我会清除我的问题,请帮忙
编辑2:
<behaviors>
<endpointBehaviors>
<behavior name="endpointBehavior">
<webHttp helpEnabled="true" defaultOutgoingResponseFormat="Xml" faultExceptionEnabled="true" />
</behavior>
</endpointBehaviors>
<serviceBehaviors>
<behavior name="STaCS">
<serviceMetadata httpGetEnabled="True" />
<serviceDebug includeExceptionDetailInFaults="False" />
</behavior>
</serviceBehaviors>
</behaviors>