MaxConcurrentCalls和MaxConcurrentSessions属性的区别
本文关键字:区别 属性 MaxConcurrentSessions MaxConcurrentCalls | 更新日期: 2023-09-27 18:11:01
看完http://msdn.microsoft.com/en-us/library/system.servicemodel.description.servicethrottlingbehavior.maxconcurrentsessions.aspx
和
http://msdn.microsoft.com/en-us/library/system.servicemodel.description.servicethrottlingbehavior.maxconcurrentcalls.aspx我的结论是:
MaxConcurrentSessions是每个客户端排队会话的数量(默认为10)MaxConcurrentCalls是服务上的活动连接数(默认为16),即所有客户端在任何时候访问服务,这意味着如果2个客户端每个调用10个,4个将不得不在队列中等待处理。
问题:
- 我的结论正确吗?
- MaxConnections如何与这些交互? MaxConnections优先于MaxConcurrentX设置吗?
(注意:我使用的是。net 3.5)
MaxConcurrentCalls与当前正在执行的服务调用的数量有关。
MaxConnections与服务上打开的连接总数有关,而不管服务是否正在为该连接执行任何操作。
例如,如果客户端打开到服务的连接,调用一个方法,并且正在等待该方法返回,它将计算在MaxConcurrentCalls中。一旦服务返回对客户端方法调用的响应,它将不计入MaxConcurrentCalls…即使您没有关闭客户端代理。假设您没有关闭客户端代理,连接将计入服务上的MaxConnections,因为您仍然打开连接,但它当前没有在服务上执行任何操作,因此它不会计入MaxConcurrentCalls。