Megosztás:


BasicBinding a szállításbiztonsággal

A TransportSecurity-minta az SSL átviteli biztonság használatát mutatja be az alapszintű kötéssel. Ez a minta a számológép szolgáltatást megvalósító Első lépések részen alapul.

Minta részletei

Alapértelmezés szerint az alapszintű kötés támogatja a HTTP-kommunikációt. A minta bemutatja, hogyan engedélyezheti az átviteli biztonságot az alapszintű kötéshez. A minta futtatása előtt létre kell hoznia egy tanúsítványt, majd a Web Server Certificate Wizard segítségével hozzárendelnie azt.

Megjegyzés:

A minta telepítési eljárása és összeállítási utasításai a témakör végén találhatók.

A mintában szereplő programkód megegyezik az Első lépések szolgáltatással. A konfigurációs fájl beállításaiban a végpontdefiníció és a kötésdefiníció módosul a biztonságos kommunikáció engedélyezéséhez, ahogyan az az alábbi mintakonfigurációban látható.

<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>

Mivel a mintában használt tanúsítvány egy teszttanúsítvány, amelyet Makecert.exehoztak létre, biztonsági riasztás jelenik meg, amikor https: címet próbál elérni a böngészőben, például https://localhost/servicemodelsamples/service.svc. Annak érdekében, hogy a Windows Communication Foundation (WCF) ügyfél egy teszttanúsítvánnyal működjön, a rendszer további kódot ad hozzá az ügyfélhez a biztonsági riasztás letiltásához. Ez a kód és a hozzá tartozó osztály nem szükséges valódi tanúsítványok használatakor.

// This code is required only for test certificates such as those
// created by Makecert.exe.
PermissiveCertificatePolicy.Enact("CN=ServiceModelSamples-HTTPS-Server");

A minta futtatásakor a műveleti kérelmek és a válaszok megjelennek az ügyfélkonzol ablakában. Nyomja le az ENTER billentyűt az ügyfélablakban az ügyfél leállításához.

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.

A példa beállítása, elkészítése és futtatása

  1. Telepítse a ASP.NET 4.0-t a következő paranccsal:

    %windir%\Microsoft.NET\Framework\v4.0.XXXXX\aspnet_regiis.exe /i /enable
    
  2. Győződjön meg arról, hogy elvégezte a Windows Communication Foundation-minták One-Time beállítási eljárását.

  3. Győződjön meg arról, hogy elvégezte az Internet Information Services (IIS) kiszolgálótanúsítvány telepítési utasításait.

  4. A megoldás C# vagy Visual Basic .NET kiadásának létrehozásához kövesse Windows Communication Foundation-mintákcímű témakör utasításait.

  5. Ha a mintát egy vagy több gép közötti konfigurációban szeretné futtatni, kövesse A Windows Communication Foundation-minták futtatásacímű témakör utasításait.