節流

節流範例會示範節流控制項的用法。節流控制項會限制同時呼叫、並行執行個體或工作階段的數目,以防止過度消耗資源。節流行為會指定於服務組態檔設定中。這個範例是以實作計算機服務的使用者入門範例為基礎。

在這個範例中,用戶端是主控台應用程式 (.exe),而服務則是由網際網路資訊服務 (IIS) 所裝載。

ms751436.note(zh-tw,VS.90).gif注意:
此範例的安裝程序與建置指示位於本主題的結尾。

服務組態檔會在throttling element中指定節流控制項,如下列範例組態所示。

    <behaviors>
      <serviceBehaviors>
        <behavior name="CalculatorServiceBehavior">
          <serviceDebug includeExceptionDetailInFaults="False" />
          <serviceMetadata httpGetEnabled="True"/>
          <!-- Specify throttling behavior -->
        <serviceThrottling maxConcurrentCalls="2"
                           maxConcurrentInstances="10"/>
        </behavior>
      </serviceBehaviors>
    </behaviors>

當設定時,服務會將同時呼叫上限限制為 2,並行執行個體上限限制為 10。

為了示範節流,我們在服務方法上定義了睡眠時間,如下所示:

public double Add(double n1, double n2)
{
    System.Threading.Thread.Sleep(2000);
    return n1 + n2;
}

當您執行範例時,作業要求和回應會顯示在用戶端主控台視窗中。Add 和 Subtract 方法會同時執行,而 Multiply 和 Divide 方法會同時執行,如此證明了無法同時執行兩個以上的方法,並因此示範了節流。

Press <ENTER> to terminate client.
Add(100,15.99)
Subtract(145,76.54)
Multiply(9,81.25)
Divide(22,7)

Add Result: 115.99
Subtract Result: 68.46
Multiply Result: 731.25
Divide Result: 3.14285714285714

Press any key to continue . . .

若要設定、建置及執行範例

  1. 請確定您已執行 Windows Communication Foundation 範例的單次安裝程序

  2. 若要建置方案的 C# 或 Visual Basic .NET 版本,請遵循建置 Windows Communication Foundation 範例中的指示。

  3. 若要在單一或跨電腦的組態中執行本範例,請遵循執行 Windows Communication Foundation 範例中的指示。

Send comments about this topic to Microsoft.
© 2007 Microsoft Corporation. All rights reserved.