WS Transport Security
Exemplet wsTransportSecurity visar användningen av SSL-transportsäkerhet med bindningenWSHttpBinding. Som standard tillhandahåller bindningen wsHttpBinding
HTTP-kommunikation. När bindningen har konfigurerats för transportsäkerhet stöder den HTTPS-kommunikation. Det här exemplet baseras på komma igång som implementerar en kalkylatortjänst. wsHttpBinding
Anges och konfigureras i programkonfigurationsfilerna för klienten och tjänsten.
Kommentar
Konfigurationsproceduren och bygginstruktionerna för det här exemplet finns i slutet av det här avsnittet.
Programkoden i exemplet är identisk med koden för komma igång-tjänsten . Du måste skapa ett certifikat och tilldela det med hjälp av guiden Webbservercertifikat innan du skapar och kör exemplet. Slutpunktsdefinitionen och bindningsdefinitionen i konfigurationsfilens inställningar aktiverar Transport
säkerhetsläge, enligt följande exempelkonfiguration för klienten.
<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>
Den angivna adressen använder schemat https://
. Bindningskonfigurationen anger säkerhetsläget till Transport
. Samma säkerhetsläge måste anges i tjänstens Web.config-fil.
Eftersom certifikatet som används i det här exemplet är ett testcertifikat som skapats med Makecert.exe visas en säkerhetsavisering när du försöker komma åt en https: -adress, till exempel https://localhost/servicemodelsamples/service.svc
, från webbläsaren. Om du vill tillåta att WCF-klienten (Windows Communication Foundation) fungerar med ett testcertifikat på plats har ytterligare kod lagts till i klienten för att förhindra säkerhetsaviseringen. Den här koden och den tillhörande klassen krävs inte när du använder produktionscertifikat.
// This code is required only for test certificates like those created by Makecert.exe.
PermissiveCertificatePolicy.Enact("CN=ServiceModelSamples-HTTPS-Server");
När du kör exemplet visas åtgärdsbegäranden och svar i klientkonsolfönstret. Tryck på RETUR i klientfönstret för att stänga av klienten.
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.
Så här konfigurerar du, skapar och kör exemplet
Installera ASP.NET 4.0 med hjälp av följande kommando.
%windir%\Microsoft.NET\Framework\v4.0.XXXXX\aspnet_regiis.exe /i /enable
Kontrollera att du har utfört engångsinstallationsproceduren för Windows Communication Foundation-exempel.
Kontrollera att du har utfört installationsanvisningarna för IIS-servercertifikatet (Internet Information Services).
Om du vill skapa C# eller Visual Basic .NET-versionen av lösningen följer du anvisningarna i Skapa Windows Communication Foundation-exempel.
Om du vill köra exemplet i en konfiguration med en eller flera datorer följer du anvisningarna i Köra Windows Communication Foundation-exempel.