<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。

子元素

无。

父元素

元素 说明

<endpointBehaviors> 的 <behavior>

指定行为元素。

备注

通过进行遏制控制,可以限制并发调用、实例或会话的数量以防止过度使用资源。

每次达到属性值时,就会记录一个跟踪。第一个跟踪将记录为警告。

示例

下面的配置示例指定服务将最大并发调用数限定为 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