kaz*_*tor 5 c# wcf multithreading channelfactory
我正在创建一个测试工具来强调加载服务器.我创建了许多不同的线程,向服务器发送单独的请求.它似乎受ChannelFactory的限制.它是进行实际服务调用的瓶颈,例如:
_proxy.MyServiceCall(...);
Run Code Online (Sandbox Code Playgroud)
我尝试了几种不同的方法:
所有这些都导致了非常相似的性能.通道工厂似乎正在使用全局静态可用连接池.我试过这个但是找不到任何东西.你对此有更多了解吗?你认为我猜有一个静态的连接池是正确的吗?如果是这样,你知道如何配置?
这是测试应用程序的当前配置:
<configuration>
<system.serviceModel>
<client>
<endpoint binding="wsHttpBinding" bindingConfiguration="SynchronizationServiceBinding" contract="My.Namespace.ISynchronizationService" name="ClientBinding">
</endpoint>
</client>
<bindings>
<wsHttpBinding>
<binding name="SynchronizationServiceBinding" maxBufferPoolSize="2147483647" maxReceivedMessageSize="10485760">
<security mode="Transport">
<transport clientCredentialType="None"/>
</security>
<reliableSession enabled="false"/>
<readerQuotas maxArrayLength="1000000"/>
</binding>
</wsHttpBinding>
</bindings>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
</system.serviceModel>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup> </configuration>
Run Code Online (Sandbox Code Playgroud)
事实证明,我需要做的就是为 system.net connectionManagement 添加一个配置:
<system.net>
<connectionManagement>
<add address = "*" maxconnection = "1000" />
</connectionManagement>
</system.net>
Run Code Online (Sandbox Code Playgroud)
请参阅:元素(网络设置)
请注意,此线程中的问题与我遇到的问题相同:IIS/WAS 仅并行处理每个客户端的两个请求