Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W przykładzie wsTransportSecurity pokazano użycie zabezpieczeń transportu SSL z powiązaniem WSHttpBinding . Domyślnie powiązanie wsHttpBinding
zapewnia komunikację HTTP. Po skonfigurowaniu pod kątem zabezpieczeń transportu powiązanie obsługuje komunikację HTTPS. Ten przykład jest oparty na Rozpoczęcie, które implementuje usługę kalkulatora. Parametr wsHttpBinding
jest określony i skonfigurowany w plikach konfiguracji aplikacji dla klienta i usługi.
Uwaga / Notatka
Procedura konfiguracji i instrukcje kompilacji dla tego przykładu znajdują się na końcu tego tematu.
Kod programu w przykładzie jest identyczny z kodem usługi Wprowadzenie . Przed utworzeniem i uruchomieniem przykładu należy utworzyć certyfikat i przypisać go za pomocą Kreatora certyfikatów serwera sieci Web. Definicje punktu końcowego i powiązania w ustawieniach pliku konfiguracji Transport
umożliwiają tryb zabezpieczeń, co pokazano w poniższej przykładowej konfiguracji klienta.
<system.serviceModel>
<client>
<!-- this endpoint has an https: address -->
<endpoint address="https://localhost/servicemodelsamples/service.svc" binding="wsHttpBinding" bindingConfiguration="Binding1" contract="Microsoft.Samples.TransportSecurity.ICalculator"/>
</client>
<bindings>
<wsHttpBinding>
<!-- configure wsHttpbinding with Transport security mode
and clientCredentialType as None -->
<binding name="Binding1">
<security mode="Transport">
<transport clientCredentialType="None"/>
</security>
</binding>
</wsHttpBinding>
</bindings>
</system.serviceModel>
Określony adres używa schematu https://
. Konfiguracja powiązania ustawia tryb zabezpieczeń na Transport
. Ten sam tryb zabezpieczeń musi być określony w pliku Web.config usługi.
Ponieważ certyfikat używany w tym przykładzie jest certyfikatem testowym utworzonym za pomocą Makecert.exe, podczas próby uzyskania dostępu do adresu https, takiego jak https://localhost/servicemodelsamples/service.svc
, w przeglądarce jest wyświetlany alert zabezpieczeń. Aby umożliwić klientowi programu Windows Communication Foundation (WCF) pracę z certyfikatem testowym, do klienta dodano dodatkowy kod w celu pomijania alertu zabezpieczeń. Ten kod oraz towarzysząca klasa nie są wymagane przy korzystaniu z certyfikatów produkcyjnych.
// This code is required only for test certificates like those created by Makecert.exe.
PermissiveCertificatePolicy.Enact("CN=ServiceModelSamples-HTTPS-Server");
Po uruchomieniu przykładu żądania operacji i odpowiedzi są wyświetlane w oknie konsoli klienta. Naciśnij ENTER w oknie klienta, aby zamknąć klienta.
Add(100,15.99) = 115.99
Subtract(145,76.54) = 68.46
Multiply(9,81.25) = 731.25
Divide(22,7) = 3.14285714285714
Press <ENTER> to terminate client.
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 /enable
Upewnij się, że wykonano procedurę instalacji One-Time dla przykładów programu Windows Communication Foundation.
Upewnij się, że wykonano instrukcje instalacji certyfikatu serwera usług Internet Information Services (IIS).
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.