WS Reliable Session
A wsReliableSession minta a megbízható munkamenetek használatát mutatja be. A megbízható munkamenetek támogatják a megbízható üzenetkezelést és a munkameneteket. A megbízható üzenetkezelés újrapróbálkozza a sikertelen kommunikációt, és lehetővé teszi a kézbesítési biztosítékok megadását, például az üzenetek sorrendjében történő megérkezését. A munkamenetek fenntartják az ügyfelek állapotát a hívások között. A minta munkameneteket implementál az ügyfélállapot fenntartásához, és megadja a rendelés szerinti kézbesítési garanciákat.
Ez a minta a számológép szolgáltatást megvalósító első lépéseken alapul. A megbízható munkamenet-funkciók engedélyezve vannak és konfigurálva vannak az ügyfél és a szolgáltatás alkalmazáskonfigurációs fájljaiban.
Ebben a mintában a szolgáltatás az Internet Information Servicesben (IIS) található, az ügyfél pedig egy konzolalkalmazás (.exe).
Feljegyzés
A minta telepítési eljárása és összeállítási utasításai a témakör végén találhatók.
A minta a wsHttpBinding
. A kötés az ügyfél és a szolgáltatás konfigurációs fájljaiban van megadva. A kötés típusa a végpontelem binding
attribútumában van megadva az alábbi mintakonfigurációban látható módon.
<endpoint address=""
binding="wsHttpBinding"
bindingConfiguration="Binding1"
contract="Microsoft.ServiceModel.Samples.ICalculator" />
A végpont egy bindingConfiguration
"Binding1" nevű kötéskonfigurációra hivatkozó attribútumot tartalmaz. A kötéskonfiguráció a reliableSession attribútumának beállításával teszi lehetővé a enabled
<megbízható munkameneteket.>true
A megrendelt munkamenetek kézbesítési garanciáinak szabályozása a megrendelt attribútum true
beállításával történik false
. Az alapértelmezett érték true
.
<bindings>
<wsHttpBinding>
<binding name="Binding1">
<reliableSession enabled="true" />
</binding>
</wsHttpBinding>
</bindings>
A szolgáltatás-implementálási osztály instancingot implementál PerSession , hogy minden ügyfélhez külön osztálypéldányt tartson fenn, ahogyan az az alábbi mintakódban is látható.
[ServiceBehavior(InstanceContextMode=InstanceContextMode.PerSession)] public class CalculatorService : ICalculator
{
...
}
A minta futtatásakor a műveleti kérelmek és a válaszok megjelennek az ügyfélkonzol ablakában. Nyomja le az ENTER billentyűt az ügyfélablakban az ügyfél leállításához.
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.
A minta beállítása, összeállítása és futtatása
Telepítse a ASP.NET 4.0-t az alábbi paranccsal.
%windir%\Microsoft.NET\Framework\v4.0.XXXXX\aspnet_regiis.exe /i /enable
Győződjön meg arról, hogy elvégezte a Windows Communication Foundation-minták egyszeri beállítási eljárását.
A megoldás C# vagy Visual Basic .NET kiadásának létrehozásához kövesse a Windows Communication Foundation-minták készítéséhez szükséges utasításokat.
Ha a mintát egy vagy több gép közötti konfigurációban szeretné futtatni, kövesse a Windows Communication Foundation-minták futtatásával kapcsolatos utasításokat.