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

请参阅