Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W przykładzie DualHttp pokazano, jak skonfigurować WSDualHttpBinding powiązanie. Ten przykład składa się z programu konsolowego klienta (.exe) i biblioteki usług (.dll) hostowanej przez usługi Internet Information Services (IIS). Usługa implementuje kontrakt dwukierunkowy. Kontrakt jest definiowany przez ICalculatorDuplex interfejs, który uwidacznia operacje matematyczne (Dodawanie, Odejmowanie, Mnożenie i Dzielenie). W tym przykładzie interfejs ICalculatorDuplex umożliwia klientowi wykonywanie operacji matematycznych, obliczanie bieżącego wyniku w sesji. Niezależnie usługa zwraca wyniki w interfejsie ICalculatorDuplexCallback . Kontrakt dwukierunkowy wymaga sesji, ponieważ należy ustanowić kontekst, aby skorelować zestaw komunikatów wysyłanych między klientem a usługą. Powiązanie WSDualHttpBinding obsługuje komunikację dwukierunkową.
Uwaga / Notatka
Procedura instalacji i instrukcje kompilacji dla tego przykładu znajdują się na końcu tego tematu.
Aby skonfigurować punkt końcowy usługi za pomocą WSDualHttpBinding, określ powiązanie w konfiguracji punktu końcowego, jak pokazano.
<endpoint address=""
binding="wsDualHttpBinding"
contract="Microsoft.ServiceModel.Samples.ICalculatorDuplex" />
Na kliencie należy skonfigurować adres, za pomocą którego serwer może nawiązać połączenie z klientem, jak pokazano w poniższej przykładowej konfiguracji.
<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>
Po uruchomieniu przykładu żądania operacji i odpowiedzi są wyświetlane w oknie konsoli klienta. Naciśnij ENTER w oknie klienta, aby zamknąć 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)
Po uruchomieniu przykładu zobaczysz komunikaty zwrócone do klienta w interfejsie wywołania zwrotnego wysłanego z usługi. Każdy wynik pośredni jest wyświetlany, po którym następuje całe równanie po zakończeniu wszystkich operacji. Naciśnij ENTER, aby zamknąć klienta.
Aby skonfigurować, skompilować i uruchomić przykładowy program
Zainstaluj ASP.NET 4.0 przy użyciu następującego polecenia.
%windir%\Microsoft.NET\Framework\v4.0.XXXXX\aspnet_regiis.exe /i /enableUpewnij się, że wykonano procedurę instalacji One-Time dla przykładów programu Windows Communication Foundation.
Aby skompilować wersję rozwiązania w języku C# lub Visual Basic .NET, postępuj zgodnie z instrukcjami w Kompilowanie przykładów Windows Communication Foundation.
Aby uruchomić przykład w konfiguracji pojedynczej lub między maszynami, postępuj zgodnie z instrukcjami w Uruchamianie przykładów programu Windows Communication Foundation.
Ważne
Podczas uruchamiania klienta w konfiguracji między maszynami należy zastąpić localhost zarówno
address<atrybutem punktu końcowego >< elementu klienta>, jak iclientBaseAddressatrybutem <elementu powiązania> elementuwsDualHttpBinding< nazwą odpowiedniej maszyny, jak pokazano:><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>