Sdílet prostřednictvím


Víc kontraktů

Ukázka MultipleContracts ukazuje, jak implementovat více kontraktů ve službě a jak nakonfigurovat koncové body pro komunikaci s jednotlivými implementovanými kontrakty. Tato ukázka je založená na začínáme. Služba byla změněna tak, aby definovala dva kontrakty, ICalculator kontrakt a ICalculatorSession kontrakt.

Poznámka:

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

Třída služby implementuje jak kontrakty ICalculatorICalculatorSession , tak i kontrakty. Vzhledem k tomu, že jedna z kontraktů vyžaduje relaci, služba používá PerSession režim instance k udržování stavu v průběhu životnosti relace.

Konfigurace služby byla upravena tak, aby definovala dva koncové body, aby se zpřístupnily jednotlivé kontrakty. Koncový ICalculator bod je vystaven na základní adrese pomocí basicHttpBinding. Koncový ICalculatorSession bod se zobrazí v baseaddress/relaci pomocí wsHttpBinding atributu nastaveného bindingConfiguration na BindingWithSession, jak je znázorněno v následující ukázkové konfiguraci.

<service
    name="Microsoft.ServiceModel.Samples.CalculatorService"
    behaviorConfiguration="CalculatorServiceBehavior">
  <!-- ICalculator endpoint is exposed using BasicBinding at the base
       address provided by host:
       http://localhost/servicemodelsamples/service.svc  -->
  <endpoint address=""
            binding="basicHttpBinding"
            contract="Microsoft.ServiceModel.Samples.ICalculator" />
  <!-- ICalculatorSession endpoint is exposed using BindingWithSession
       at {baseaddress}/session:
       http://localhost/servicemodelsamples/service.svc/session -->
  <endpoint address="session"
            binding="wsHttpBinding"
            bindingConfiguration="BindingWithSession"
           contract="Microsoft.ServiceModel.Samples.ICalculatorSession" />
  ...
</service>

Vygenerovaný kód klienta teď obsahuje třídu klienta pro původní ICalculator kontrakt i nový ICalculatorSession kontrakt. Konfigurace klienta a kód byly upraveny tak, aby komunikovaly s každým kontraktem v příslušném koncovém bodu služby.

Klient je konzolová aplikace systému Windows (.exe). Službu hostuje Internetová informační služba (IIS).

V okně konzoly klienta se zobrazí operace odeslané do každého koncového bodu, první základní koncový bod následovaný zabezpečeným koncovým bodem.

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

  1. Ujistěte se, že jste pro ukázky windows Communication Foundation provedli jednorázovou instalační proceduru.

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

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