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.
Przykład TransportSecurity demonstruje użycie zabezpieczenia transportowego SSL z podstawowym rodzajem powiązania. Ten przykład jest oparty na Rozpoczęcie, które implementuje usługę kalkulatora.
Przykładowe szczegóły
Domyślnie podstawowe powiązanie obsługuje komunikację HTTP. W przykładzie pokazano, jak włączyć zabezpieczenie transportowe dla powiązania podstawowego. Przed uruchomieniem przykładu należy utworzyć certyfikat i przypisać go za pomocą Kreatora certyfikatów serwera sieci Web.
Uwaga / Notatka
Procedura instalacji 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 . Definicja punktu końcowego i definicja powiązania w ustawieniach pliku konfiguracji są modyfikowane w celu włączenia bezpiecznej komunikacji, jak pokazano w poniższej przykładowej konfiguracji.
<system.serviceModel>
<services>
<service type="Microsoft.ServiceModel.Samples.CalculatorService"
behaviorConfiguration="CalculatorServiceBehavior">
<endpoint address=""
binding="basicHttpBinding"
bindingConfiguration="Binding1"
contract="Microsoft.ServiceModel.Samples.ICalculator" />
</service>
</services>
<bindings>
<basicHttpBinding>
<!-- Configure basicHttpBinding with Transport security -->
<!-- mode and clientCredentialType set to None. -->
<binding name="Binding1">
<security mode="Transport">
<transport clientCredentialType="None"/>
</security>
</binding>
</basicHttpBinding>
</bindings>
</system.serviceModel>
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 w przeglądarce, takiego jak https://localhost/servicemodelsamples/service.svc
, pojawia się ostrzeżenie o bezpieczeństwie. Aby umożliwić klientowi programu Windows Communication Foundation (WCF) pracę z certyfikatem testowym, do klienta dodawany jest dodatkowy kod, aby pominąć alert zabezpieczeń. Ten kod i towarzysząca mu klasa nie są konieczne w przypadku korzystania z rzeczywistych certyfikatów.
// This code is required only for test certificates such as 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.