Betrouwbare WS-sessie
Het voorbeeld wsReliableSession demonstreert het gebruik van betrouwbare sessies. Betrouwbare sessies bieden ondersteuning voor betrouwbare berichten en sessies. Betrouwbare berichten proberen de communicatie over fouten opnieuw uit te voeren en staat toe dat bezorgingsgaranties worden opgegeven, zoals in-order aankomst van berichten. Sessies behouden de status voor clients tussen aanroepen. Het voorbeeld implementeert sessies voor het onderhouden van de clientstatus en geeft in-order leveringsgaranties op.
Dit voorbeeld is gebaseerd op de Aan de slag die een rekenmachineservice implementeert. De betrouwbare sessiefuncties worden ingeschakeld en geconfigureerd in de toepassingsconfiguratiebestanden voor de client en service.
In dit voorbeeld wordt de service gehost in IIS (Internet Information Services) en is de client een consoletoepassing (.exe).
Notitie
De installatieprocedure en build-instructies voor dit voorbeeld bevinden zich aan het einde van dit onderwerp.
In het voorbeeld wordt de wsHttpBinding
. De binding wordt opgegeven in de configuratiebestanden voor zowel de client als de service. Het bindingstype wordt opgegeven in het kenmerk van binding
het eindpuntelement, zoals wordt weergegeven in de volgende voorbeeldconfiguratie.
<endpoint address=""
binding="wsHttpBinding"
bindingConfiguration="Binding1"
contract="Microsoft.ServiceModel.Samples.ICalculator" />
Het eindpunt bevat een bindingConfiguration
kenmerk dat verwijst naar een bindingsconfiguratie met de naam Binding1. De bindingsconfiguratie maakt betrouwbare sessies mogelijk door het enabled
kenmerk van de <reliableSession> in te stellen op true
. Leveringsgaranties voor geordende sessies worden beheerd door het geordende kenmerk in te stellen op true
of false
. De standaardwaarde is true
.
<bindings>
<wsHttpBinding>
<binding name="Binding1">
<reliableSession enabled="true" />
</binding>
</wsHttpBinding>
</bindings>
De service-implementatieklasse implementeert PerSession instancing om een afzonderlijk klasse-exemplaar voor elke client te onderhouden, zoals wordt weergegeven in de volgende voorbeeldcode.
[ServiceBehavior(InstanceContextMode=InstanceContextMode.PerSession)] public class CalculatorService : ICalculator
{
...
}
Wanneer u het voorbeeld uitvoert, worden de bewerkingsaanvragen en -antwoorden weergegeven in het clientconsolevenster. Druk op Enter in het clientvenster om de client af te sluiten.
Add(100,15.99) = 115.99
Subtract(145,76.54) = 68.46
Multiply(9,81.25) = 731.25
Divide(22,7) = 3.14285714285714
Press <ENTER> to terminate client.
Het voorbeeld instellen, compileren en uitvoeren
Installeer ASP.NET 4.0 met de volgende opdracht.
%windir%\Microsoft.NET\Framework\v4.0.XXXXX\aspnet_regiis.exe /i /enable
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.