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