2012-04-19 110 views
5

在WCF中,绑定设置maxConnections和ServiceBehaviors服务限制设置(maxConcurrentCalls,maxConcurrentInstances,maxConcurrentSessions)有什么区别?WCF serviceBehaviors vs绑定设置

我试图让我的WCF服务设置,我不完全确定如何与对方共同限制连接。

回答

3

有两件事是重要的考虑因素:

  1. serviceThrottling行为是服务 - /服务器端设置,决定了多少个并发呼叫,实例和会话由服务器支持。这与任何绑定或服务端点无关 - 这是一个服务范围的设置。这使您可以调整特定服务可以处理多少个并发请求(和/或会话) - 这取决于诸如服务器“电源”,RAM,CPU等诸多因素。这些值是默认保持相当低,以避免从被“过载”的服务器,从而通过请求大洪水(错误地或恶意)呈现无响应

  2. maxConnections设置上的结合是特定于netTcpBinding(它是“堂兄弟”,如netNamedPipe和各种面向Azure的net***Relay绑定),并与连接池有关。与ADO.NET数据库连接非常相似,与服务器的TCP/IP连接可以集中并重用,以减少必须销毁和重新创建它们的开销。这主要是客户端设置(尽管它也对服务器端有影响),并且再次说明:它特定于netTcpBinding(和表兄弟;全部基于TCP/IP),并且不存在其他任何其他绑定。

    请参阅:More details on MaxConnections了解更多信息,深入了解此设置的细节。

+0

您可以扩展MaxConnections设置的服务器端效果吗? – 2013-10-31 22:24:03