WS Reliable-session
Exemplet wsReliableSession visar användningen av tillförlitliga sessioner. Tillförlitliga sessioner ger stöd för tillförlitliga meddelanden och sessioner. Tillförlitliga meddelanden försöker kommunicera på nytt vid fel och gör att leveransgarantier kan anges, till exempel i ordning ankomst av meddelanden. Sessioner underhåller tillstånd för klienter mellan anrop. Exemplet implementerar sessioner för att upprätthålla klienttillståndet och anger leveransgarantier i ordning.
Det här exemplet baseras på komma igång som implementerar en kalkylatortjänst. De tillförlitliga sessionsfunktionerna är aktiverade och konfigurerade i programkonfigurationsfilerna för klienten och tjänsten.
I det här exemplet finns tjänsten i Internet Information Services (IIS) och klienten är ett konsolprogram (.exe).
Kommentar
Installationsproceduren och bygginstruktionerna för det här exemplet finns i slutet av det här avsnittet.
Exemplet använder wsHttpBinding
. Bindningen anges i konfigurationsfilerna för både klienten och tjänsten. Bindningstypen anges i slutpunktselementets binding
attribut enligt följande exempelkonfiguration.
<endpoint address=""
binding="wsHttpBinding"
bindingConfiguration="Binding1"
contract="Microsoft.ServiceModel.Samples.ICalculator" />
Slutpunkten innehåller ett bindingConfiguration
attribut som refererar till en bindningskonfiguration med namnet "Binding1". Bindningskonfigurationen möjliggör tillförlitliga sessioner genom att ange enabled
attributet< reliableSession> till true
. Leveransgarantier för ordnade sessioner styrs genom att det ordnade attributet anges till true
eller false
. Standardvärdet är true
.
<bindings>
<wsHttpBinding>
<binding name="Binding1">
<reliableSession enabled="true" />
</binding>
</wsHttpBinding>
</bindings>
Tjänstimplementeringsklassen implementerar PerSession instancing för att underhålla en separat klassinstans för varje klient, enligt följande exempelkod.
[ServiceBehavior(InstanceContextMode=InstanceContextMode.PerSession)] public class CalculatorService : ICalculator
{
...
}
När du kör exemplet visas åtgärdsbegäranden och svar i klientkonsolfönstret. Tryck på RETUR i klientfönstret för att stänga av klienten.
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.
Så här konfigurerar du, skapar och kör exemplet
Installera ASP.NET 4.0 med hjälp av följande kommando.
%windir%\Microsoft.NET\Framework\v4.0.XXXXX\aspnet_regiis.exe /i /enable
Kontrollera att du har utfört engångsinstallationsproceduren för Windows Communication Foundation-exempel.
Om du vill skapa C# eller Visual Basic .NET-versionen av lösningen följer du anvisningarna i Skapa Windows Communication Foundation-exempel.
Om du vill köra exemplet i en konfiguration med en eller flera datorer följer du anvisningarna i Köra Windows Communication Foundation-exempel.