Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
В примере регулирования демонстрируется использование элементов управления регулированием. Ограничители устанавливают пределы на количество одновременных вызовов, экземпляров или сеансов для предотвращения чрезмерного потребления ресурсов. Поведение регулирования указывается в параметрах файла конфигурации службы. Этот пример основан на руководстве «Начало работы», которое реализует сервис калькулятора.
В этом примере клиентом является консольное приложение (.exe), а служба хостится с помощью Internet Information Services (IIS).
Замечание
Процедура установки и инструкции по сборке для этого примера находятся в конце этого раздела.
Файл конфигурации службы задает элементы управления регулированием <в serviceThrottling>, как показано в следующем примере конфигурации.
<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;
}
При запуске примера запросы и ответы операции отображаются в окне консоли клиента. Методы Сложения и Вычитания выполняются одновременно, также как и методы Умножения и Деления, что доказывает, что не более двух методов могут выполняться одновременно, демонстрируя ограничение.
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 . . .
Настройка, сборка и запуск примера
Убедитесь, что вы выполнили процедуру настройки One-Time для образцов Windows Communication Foundation.
Чтобы создать версию решения на C# или Visual Basic .NET, следуйте инструкциям по сборке примеров Windows Communication Foundation .
Чтобы запустить пример в конфигурации с одним или несколькими компьютерами, следуйте инструкциям в запуска примеров Windows Communication Foundation.