Aracılığıyla paylaş


BasicBinding ile Taşıma Güvenliği

TransportSecurity örneği, temel bağlama ile SSL aktarım güvenliğinin kullanımını gösterir. Bu örnek, hesap makinesi hizmeti uygulayan Getting Started'a dayanmaktadır.

Örnek Ayrıntılar

Varsayılan olarak, temel bağlama HTTP iletişimini destekler. Örnekte, temel bağlama için aktarım güvenliğinin nasıl etkinleştirileceği gösterilmektedir. Örneği çalıştırmadan önce bir sertifika oluşturmanız ve Web Sunucusu Sertifika Sihirbazı'nı kullanarak atamanız gerekir.

Uyarı

Bu örnek için kurulum yordamı ve derleme yönergeleri bu konunun sonunda yer alır.

Örnekteki program kodu , Başlarken hizmetinin koduyla aynıdır. Yapılandırma dosyası ayarlarındaki uç nokta tanımı ve bağlama tanımı, aşağıdaki örnek yapılandırmada gösterildiği gibi güvenli iletişimi etkinleştirmek için değiştirilir.

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

Bu örnekte kullanılan sertifika Makecert.exeile oluşturulmuş bir test sertifikası olduğundan, tarayıcınızda https: adresine erişmeye çalıştığınızda bir güvenlik uyarısı görüntülenir, örneğin https://localhost/servicemodelsamples/service.svc. Windows Communication Foundation (WCF) istemcisinin bir test sertifikasıyla çalışmasına izin vermek için, güvenlik uyarısını engellemek için istemciye bazı ek kodlar eklenir. Bu kod ve eşlik eden sınıf, gerçek sertifikalar kullanılırken gerekli değildir.

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

Örneği çalıştırdığınızda, işlem istekleri ve yanıtları istemci konsolu penceresinde görüntülenir. İstemciyi kapatmak için istemci penceresinde ENTER tuşuna basın.

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.

Örneği ayarlamak, derlemek ve çalıştırmak için

  1. Aşağıdaki komutu kullanarak ASP.NET 4.0'ı yükleyin:

    %windir%\Microsoft.NET\Framework\v4.0.XXXXX\aspnet_regiis.exe /i /enable
    
  2. Windows Communication Foundation Örnekleri içinOne-Time Kurulum Yordamını yaptığınızdan emin olun.

  3. Internet Information Services (IIS) Sunucu Sertifikası Yükleme Yönergelerini gerçekleştirdiğinizden emin olun.

  4. Çözümün C# veya Visual Basic .NET sürümünü oluşturmak için Windows Communication Foundation Örneklerioluşturma başlığındaki yönergeleri izleyin.

  5. Örneği tek bir makine veya makineler arası bir yapılandırmada çalıştırmak için, Windows Communication Foundation örneklerini çalıştırmayönergelerini izleyin.