<serviceThrottling>
指定 Windows Communication Foundation (WCF) 服务的限制机制。
configuration
system.serviceModel
behaviors
<serviceBehaviors>
behavior
<serviceThrottling>
语法
<serviceThrottling maxConcurrentCalls="Integer"
maxConcurrentInstances="Integer"
maxConcurrentSessions="Integer" />
特性和元素
下列各节描述了特性、子元素和父元素。
特性
属性 | 说明 |
---|---|
maxConcurrentCalls | 一个正整数,用于限制当前在整个 ServiceHost 中处理的消息数目。 超出此限制的调用将在队列中排队。 将此值设置为 0 与将其设置为 Int32.MaxValue 等效。 默认值是 16 * 处理器计数。 |
maxConcurrentInstances | 一个正整数,用于限制在整个 InstanceContext 中一次执行的 ServiceHost 对象数。 用于创建其他实例的请求将会排队,并在出现低于该限值的槽时完成。 默认值是 maxConcurrentSessions 和 MaxConcurrentCalls 的和 |
maxConcurrentSessions | 一个正整数,用于限制 ServiceHost 对象可以接受的会话数。 此服务将接受超出限制的连接,但是,只有处于限制范围之内的通道处于活动状态(会从此通道中读取消息)。 默认值是 100 * 处理器计数。 |
子元素
无。
父元素
元素 | 说明 |
---|---|
<behavior> | 指定行为元素。 |
备注
限制控件会对并发调用、实例或会话的数目施加限制以防止过度使用资源。
每次达到属性值时,就会记录一个跟踪。 第一个跟踪将记录为警告。
示例
下面的配置示例指定服务将最大并发调用数限制为 2,并将最大并发实例数限制为 10。 有关运行此示例的详细示例,请参阅限制。
<behaviors>
<serviceBehaviors>
<behavior name="CalculatorServiceBehavior">
<serviceDebug includeExceptionDetailInFaults="False" />
<serviceMetadata httpGetEnabled="True" />
<!-- Specify throttling behavior -->
<serviceThrottling maxConcurrentCalls="2"
maxConcurrentInstances="10" />
</behavior>
</serviceBehaviors>
</behaviors>