Beperking
In het voorbeeld beperking wordt het gebruik van beperkingsbesturingselementen gedemonstreerde. Met beperkingsbesturingselementen worden limieten ingesteld voor het aantal gelijktijdige aanroepen, instanties of sessies om te voorkomen dat resources te veel worden gebruikt. Beperkingsgedrag wordt opgegeven in de instellingen van het serviceconfiguratiebestand. Dit voorbeeld is gebaseerd op de Aan de slag die een rekenmachineservice implementeert.
In dit voorbeeld is de client een consoletoepassing (.exe) en wordt de service gehost door Internet Information Services (IIS).
Notitie
De installatieprocedure en build-instructies voor dit voorbeeld bevinden zich aan het einde van dit onderwerp.
Het serviceconfiguratiebestand geeft beperkingsbesturingselementen op in een <servicebeperking>, zoals wordt weergegeven in de volgende voorbeeldconfiguratie.
<behaviors>
<serviceBehaviors>
<behavior name="CalculatorServiceBehavior">
<serviceDebug includeExceptionDetailInFaults="False" />
<serviceMetadata httpGetEnabled="True"/>
<!-- Specify throttling behavior -->
<serviceThrottling maxConcurrentCalls="2"
maxConcurrentInstances="10"/>
</behavior>
</serviceBehaviors>
</behaviors>
Zoals geconfigureerd, beperkt de service het maximum aantal gelijktijdige aanroepen naar 2 en het maximum aantal gelijktijdige exemplaren tot 10.
Om beperking te demonstreren definiëren we als volgt een slaaptijd voor de servicemethoden:
public double Add(double n1, double n2)
{
System.Threading.Thread.Sleep(2000);
return n1 + n2;
}
Wanneer u het voorbeeld uitvoert, worden de bewerkingsaanvragen en -antwoorden weergegeven in het clientconsolevenster. De methoden Voor optellen en aftrekken worden gelijktijdig uitgevoerd en de methoden Vermenigvuldigen en Delen worden gelijktijdig uitgevoerd om aan te tonen dat niet meer dan 2 methoden gelijktijdig kunnen worden uitgevoerd, waardoor beperking wordt gedemonstreerd.
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 . . .
Het voorbeeld instellen, compileren en uitvoeren
Zorg ervoor dat u de eenmalige installatieprocedure voor de Windows Communication Foundation-voorbeelden hebt uitgevoerd.
Als u de C# of Visual Basic .NET-editie van de oplossing wilt bouwen, volgt u de instructies in het bouwen van de Windows Communication Foundation-voorbeelden.
Als u het voorbeeld wilt uitvoeren in een configuratie met één of meerdere computers, volgt u de instructies in Het uitvoeren van de Windows Communication Foundation-voorbeelden.