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 Internetová informační služba (IIS). 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 ICalculatorDuplex rozhraní umožňuje klientovi provádět matematické operace a vypočítat průběžný výsledek v rámci relace. Nezávisle na sobě vrátí služba výsledky v ICalculatorDuplexCallback rozhraní. Duplexní kontrakt vyžaduje relaci, protože musí být vytvořen 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.

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.

    Důležité

    Při spuštění klienta v konfiguraci mezi počítači nezapomeňte nahradit localhost v address atributu <koncového bodu <> elementu klienta> i clientBaseAddress atribut <vazby <>elementu wsDualHttpBinding> názvem příslušného počítače, jak je znázorněno na obrázku:

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