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 MultipleContracts pokazano, jak zaimplementować więcej niż jeden kontrakt w usłudze oraz jak skonfigurować punkty końcowe do komunikowania się z każdym z wdrożonych kontraktów. Ten przykład jest oparty na Rozpoczynanie. Usługa została zmodyfikowana, aby zdefiniować dwa kontrakty: ICalculator oraz ICalculatorSession.
Uwaga / Notatka
Procedura instalacji i instrukcje kompilacji dla tego przykładu znajdują się na końcu tego tematu.
Klasa usługi implementuje zarówno kontrakt ICalculator, jak i kontrakt ICalculatorSession. Ponieważ jeden z kontraktów wymaga sesji, usługa używa PerSession trybu wystąpienia do utrzymania stanu w okresie istnienia sesji.
Konfiguracja usługi została zmodyfikowana w celu zdefiniowania dwóch punktów końcowych w celu uwidocznienia każdego kontraktu. Punkt ICalculator końcowy jest uwidaczniony pod adresem podstawowym przy użyciu elementu basicHttpBinding. Punkt końcowy ICalculatorSession został wystawiony w baseaddress/session z elementem wsHttpBinding, którego atrybut bindingConfiguration jest ustawiony na BindingWithSession, jak pokazano w poniższej przykładowej konfiguracji.
<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>
Wygenerowany kod klienta zawiera teraz klasę klienta zarówno dla oryginalnego ICalculator kontraktu, jak i nowego ICalculatorSession kontraktu. Konfiguracja klienta i kod zostały zmodyfikowane w celu komunikowania się z każdym kontraktem w odpowiednim punkcie końcowym usługi.
Klient jest aplikacją systemu Windows konsoli (.exe). Usługa jest hostowana przez usługi Internet Information Services (IIS).
W oknie konsoli klienta są wyświetlane operacje wysyłane do każdego z punktów końcowych, najpierw podstawowego punktu końcowego, a następnie bezpiecznego punktu końcowego.
Aby skonfigurować, skompilować i uruchomić przykładowy program
Upewnij 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.