分享方式:


<serviceThrottling>

指定 Windows Communication Foundation (WCF) 服務的節流機制。

<configuration>
  <system.serviceModel>
    <behaviors>
      <serviceBehaviors>
        <behavior>
          <serviceThrottling>

Syntax

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

另請參閱