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
Pomocí následujícího příkazu nainstalujte ASP.NET 4.0.
%windir%\Microsoft.NET\Framework\v4.0.XXXXX\aspnet_regiis.exe /i /enable
Ujistěte se, že jste pro ukázky windows Communication Foundation provedli jednorázovou instalační proceduru.
Pokud chcete sestavit edici C# nebo Visual Basic .NET řešení, postupujte podle pokynů v části Sestavení ukázek windows Communication Foundation.
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> iclientBaseAddress
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>