我有WCF客户端向服务发送请求。我的业务代码调用客户端API每秒发送300多个请求。但是我的客户端只根据我的服务和WCF ServicePoint的性能计数器发送大约50个服务。
我在代码中将ServicePointManager.DefaultConnectionLimit增加到1000,并在服务配置文件中将maxConCurrentCalls设置为1000,但收效甚微。
我猜WCF客户端可能有队列发送请求。有没有办法配置它并加快我的客户。
以下是我对客户端的配置:
<basicHttpBinding>
<binding name="Binding" closeTimeout="00:01:00" openTimeout="00:01:00"
receiveTimeout="00:10:00" sendTimeout="00:01:00" allowCookies="false"
bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
maxBufferSize="2000000" maxBufferPoolSize="524288" maxReceivedMessageSize="2000000"
messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
useDefaultWebProxy="false">
<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>
答案 0 :(得分:1)
您可能正在达到http连接的连接限制:
<system.net>
<connectionManagement>
<add address="*" maxconnection="8"/>
</connectionManagement>
</system.net>
请注意默认值为2.