Sdílet prostřednictvím


WS Dual Http

Ukázka DualHttp ukazuje, jak nakonfigurovat WSDualHttpBinding vazbu. Tato ukázka se skládá z programu konzoly klienta (.exe) a knihovny služeb (.dll) hostované službou IIS (Internet Information Services). Služba implementuje duplexní kontrakt. Kontrakt je definován ICalculatorDuplex rozhraním, které zveřejňuje matematické operace (sčítání, odčítání, násobení a dělení). V této ukázce rozhraní ICalculatorDuplex umožňuje klientovi provádět matematické operace s počítáním průběžného výsledku během relace. Nezávisle služba vrátí výsledky v rozhraní ICalculatorDuplexCallback. Duplexní smlouva vyžaduje relaci, protože je nutné vytvořit kontext pro korelaci sady zpráv odesílaných mezi klientem a službou. Vazba WSDualHttpBinding podporuje duplexní komunikaci.

Poznámka:

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

Pokud chcete nakonfigurovat koncový bod služby pomocí parametru WSDualHttpBinding, zadejte vazbu v konfiguraci koncového bodu, jak je znázorněno.

<endpoint address=""
         binding="wsDualHttpBinding"
         contract="Microsoft.ServiceModel.Samples.ICalculatorDuplex" />

V klientovi musíte nakonfigurovat adresu, kterou server může použít pro připojení k klientovi, jak je znázorněno v následující ukázkové konfiguraci.

<system.serviceModel>
  <client>
    <endpoint address=
         "http://localhost/servicemodelsamples/service.svc"
         binding="wsDualHttpBinding"
         bindingConfiguration="Binding1"
         contract="Microsoft.ServiceModel.Samples.ICalculatorDuplex" />
  </client>

  <bindings>
    <!-- Configure a WSDualHttpBinding that supports duplex -->
    <!-- communication. -->
    <wsDualHttpBinding>
      <binding name="Binding1"
               clientBaseAddress="http://localhost:8000/myClient/"
               useDefaultWebProxy="true"
               bypassProxyOnLocal="false">
      </binding>
    </wsDualHttpBinding>
  </bindings>
</system.serviceModel>

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.

Press <ENTER> to terminate client once the output is displayed.

Result(100)
Result(50)
Result(882.5)
Result(441.25)
Equation(0 + 100 - 50 * 17.65 / 2 = 441.25)

Při spuštění ukázky se zobrazí zprávy vrácené klientovi v rozhraní zpětného volání odeslaného ze služby. Zobrazí se každý zprostředkující výsledek následovaný celou rovnicí po dokončení všech operací. Stisknutím klávesy ENTER ukončete klienta.

Jak nastavit, sestavit a spustit ukázku

  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 provedli instalační proceduru One-Time pro ukázky Windows Communication Foundation.

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

  4. Pokud chcete spustit ukázku v konfiguraci pro jeden počítač nebo pro více počítačů, postupujte podle pokynů v Spuštění ukázek Windows Communication Foundation.

    Důležité

    Při spuštění klienta v konfiguraci mezi počítači nezapomeňte nahradit localhost jak v atributu address<elementu koncového bodu><klienta>, tak i v atributu clientBaseAddress<elementu vazby><wsDualHttpBinding> názvem příslušného počítače.

    <client>
        <endpoint name = ""
          address=
         "http://service_machine_name/servicemodelsamples/service.svc"
        />
    </client>
    ...
    <wsDualHttpBinding>
        <binding name="DuplexBinding" clientBaseAddress=
            "http://client_machine_name:8000/myClient/">
        </binding>
    </wsDualHttpBinding>