Megosztás a következőn keresztül:


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

  1. Telepítse a ASP.NET 4.0-t az alábbi paranccsal.

    %windir%\Microsoft.NET\Framework\v4.0.XXXXX\aspnet_regiis.exe /i /enable
    
  2. 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.

  3. 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.

  4. 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.