Sdílet prostřednictvím


Spolehlivá relace WS

Ukázka wsReliableSession ukazuje použití spolehlivých relací. Spolehlivé relace poskytují podporu spolehlivého zasílání zpráv a relací. Spolehlivé zasílání zpráv opakuje komunikaci při selhání a umožňuje zadat záruky doručení, například doručení zpráv v pořadí. Relace udržují stav pro klienty mezi voláními. Ukázka implementuje relace pro zachování stavu klienta a určuje záruky doručení v objednávce.

Tato ukázka vychází ze služby Začínáme , která implementuje službu kalkulačky. Funkce spolehlivé relace jsou povolené a nakonfigurované v konfiguračních souborech aplikace pro klienta a službu.

V této ukázce je služba hostovaná v Internetová informační služba (IIS) a klient je konzolová aplikace (.exe).

Poznámka:

Postup nastavení a pokyny k sestavení pro tuto ukázku najdete na konci tohoto tématu.

Ukázka používá .wsHttpBinding Vazba je určena v konfiguračních souborech klienta i služby. Typ vazby je zadán v atributu elementu koncového binding bodu, jak je znázorněno v následující ukázkové konfiguraci.

<endpoint address=""
          binding="wsHttpBinding"
          bindingConfiguration="Binding1"
          contract="Microsoft.ServiceModel.Samples.ICalculator" />

Koncový bod obsahuje bindingConfiguration atribut, který odkazuje na konfiguraci vazby s názvem "Binding1". Konfigurace vazby umožňuje spolehlivé relace nastavením enabled atributu <reliableSession> na true. Záruky doručení pro seřazené relace jsou řízeny nastavením objednaného atributu na true nebo false. Výchozí hodnota je true.

<bindings>
    <wsHttpBinding>
        <binding name="Binding1">
            <reliableSession enabled="true" />
        </binding>
    </wsHttpBinding>
</bindings>

Třída implementace služby implementuje PerSession instancing pro údržbu samostatné instance třídy pro každého klienta, jak je znázorněno v následujícím vzorovém kódu.

[ServiceBehavior(InstanceContextMode=InstanceContextMode.PerSession)] public class CalculatorService : ICalculator
{
    ...
}

Při spuštění ukázky se požadavky na operace a odpovědi zobrazí v okně konzoly klienta. Stisknutím klávesy ENTER v okně klienta klienta ukončete klienta.

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.

Nastavení, sestavení a spuštění ukázky

  1. Pomocí následujícího příkazu nainstalujte ASP.NET 4.0.

    %windir%\Microsoft.NET\Framework\v4.0.XXXXX\aspnet_regiis.exe /i /enable
    
  2. Ujistěte se, že jste pro ukázky windows Communication Foundation provedli jednorázovou instalační proceduru.

  3. Pokud chcete sestavit edici C# nebo Visual Basic .NET řešení, postupujte podle pokynů v části Sestavení ukázek windows Communication Foundation.

  4. Pokud chcete spustit ukázku v konfiguraci s jedním nebo více počítači, postupujte podle pokynů v části Spuštění ukázek windows Communication Foundation.