Регулирование
В образце регулирования демонстрируется использование элементов управления регулированием. Элементы регулирования ограничивают число одновременных вызовов, экземпляров или сеансов, чтобы предотвратить чрезмерное потребление ресурсов. Поведение регулирования задается параметрами файла конфигурации службы. Данный образец основан на образце Образец для начала работы, реализующем службу калькулятора.
В этом образце клиентом является консольное приложение (EXE), а служба размещается в службах IIS.
![]() |
---|
Процедура настройки и инструкции по построению для данного образца приведены в конце этого раздела. |
Файл конфигурации службы задает элементы управления регулированием в элементе throttling element, как показано в следующем образце конфигурации.
<behaviors>
<serviceBehaviors>
<behavior name="CalculatorServiceBehavior">
<serviceDebug includeExceptionDetailInFaults="False" />
<serviceMetadata httpGetEnabled="True"/>
<!-- Specify throttling behavior -->
<serviceThrottling maxConcurrentCalls="2"
maxConcurrentInstances="10"/>
</behavior>
</serviceBehaviors>
</behaviors>
В соответствии с конфигурацией служба ограничивает максимальное число параллельных вызовов двумя, а максимальное число параллельных экземпляров десятью.
Для демонстрации регулирования в методах службы следующим образом определяется время задержки:
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 . . .
Настройка, построение и выполнение образца
Убедитесь, что выполнены процедуры, описанные в разделе Процедура однократной настройки образцов Windows Communication Foundation.
Чтобы выполнить построение версии решения для языка C# или Visual Basic .NET, следуйте инструкциям раздела Построение образцов Windows Communication Foundation.
Чтобы выполнить образец на одном или нескольких компьютерах, следуйте инструкциям в разделе Running the Windows Communication Foundation Samples.
![]() |
---|
Образцы уже могут быть установлены на компьютере. Перед продолжением проверьте следующий каталог (по умолчанию).
<диск_установки>:\WF_WCF_Samples
Если этот каталог не существует, перейдите на страницу Образцы Windows Communication Foundation (WCF) и Windows Workflow Foundation (WF) для .NET Framework 4, чтобы загрузить все образцы Windows Communication Foundation (WCF) и WF. Этот образец расположен в следующем каталоге.
<диск_установки>:\WF_WCF_Samples\WCF\Basic\Services\Behaviors\Throttling
|