博客园  :: 首页  :: 新随笔  :: 联系 :: 管理

WCF并发连接数的问题

Posted on 2011-05-14 13:49  codingsilence  阅读(645)  评论(0编辑  收藏  举报

WCF并发连接数的问题

在最近的开发中,总是发现人数一多就会有用户莫名其妙的界面卡死,或者直接掉线的情况,不知道是什么原因,由于项目采用的是netTcp绑定,猜想可能是并发连接的问题。于是查了一下:

在windows7中,并发连接数默认是10

  
代码
<binding name="netTcpBindConfig" closeTimeout="00:30:00" 
openTimeout
="00:30:00" receiveTimeout="00:30:00" sendTimeout="00:30:00" 
transactionFlow
="false" transferMode="Buffered" transactionProtocol="OleTransactions" 
hostNameComparisonMode
="StrongWildcard" listenBacklog="10" 
maxBufferPoolSize
="2147483647" maxBufferSize="2147483647" maxConnections="10" 
maxReceivedMessageSize
="2147483647"> 

将项目移植到windows server2008上之后,并发连接数需要改变一下,于是变成

  
代码
<binding name="netTcpBindConfig" closeTimeout="00:30:00" 
openTimeout
="00:30:00" receiveTimeout="00:30:00" sendTimeout="00:30:00" 
transactionFlow
="false" transferMode="Buffered" transactionProtocol="OleTransactions" 
hostNameComparisonMode
="StrongWildcard" listenBacklog="10" 
maxBufferPoolSize
="2147483647" maxBufferSize="2147483647" maxConnections="1000" 
maxReceivedMessageSize
="2147483647"> 

但是问题依然存在,就想到是不是需要配置一下行为,于是将行为的连接数量也改变了

  
代码
<behavior name="JXSoft.JPlan.WCFService.Behavior" > 
<serviceThrottling maxConcurrentCalls="1000" maxConcurrentInstances="1000" maxConcurrentSessions="1000"/> 
<serviceMetadata/> 
<serviceDebug includeExceptionDetailInFaults="true" /> 
<dataContractSerializer maxItemsInObjectGraph="6553600"/> 
</behavior>

 

 

问题解决,没有再出现过卡死或者掉线情况.