Öğretici: Windows Communication Foundation istemcisi oluşturma

Bu öğreticide, temel bir Windows Communication Foundation (WCF) uygulaması oluşturmak için gereken beş görevden dördüncüsü açıklanmaktadır. Öğreticilere genel bakış için bkz . Öğretici: Windows Communication Foundation uygulamalarını kullanmaya başlama.

WCF uygulaması oluşturmak için bir sonraki görev, bir WCF hizmetinden meta verileri alarak bir istemci oluşturmaktır. Hizmetin MEX uç noktasından meta verileri alan bir hizmet başvurusu eklemek için Visual Studio'yu kullanırsınız. Daha sonra Visual Studio, seçtiğiniz dilde bir istemci proxy'si için yönetilen bir kaynak kod dosyası oluşturur. Ayrıca bir istemci yapılandırma dosyası (App.config) oluşturur. Bu dosya, istemci uygulamasının bir uç noktada hizmete bağlanmasına olanak tanır.

Not

Visual Studio'daki bir sınıf kitaplığı projesinden WCF hizmetini çağırırsanız, otomatik olarak bir ara sunucu ve ilişkili yapılandırma dosyası oluşturmak için Hizmet Başvurusu Ekle özelliğini kullanın. Ancak, sınıf kitaplığı projeleri bu yapılandırma dosyasını kullanmadığından, oluşturulan yapılandırma dosyasındaki ayarları sınıf kitaplığını çağıran yürütülebilir dosya için App.config dosyasına eklemeniz gerekir.

İstemci uygulaması, hizmetle iletişim kurmak için oluşturulan proxy sınıfını kullanır. Bu yordam Öğretici: İstemci kullanma başlığı altında açıklanmıştır.

Bu öğreticide aşağıdakilerin nasıl yapılacağını öğreneceksiniz:

  • WCF istemcisi için bir konsol uygulaması projesi oluşturun ve yapılandırın.
  • Ara sunucu sınıfını ve yapılandırma dosyalarını oluşturmak için WCF hizmetine bir hizmet başvurusu ekleyin.

Windows Communication Foundation istemcisi oluşturma

  1. Visual Studio'da konsol uygulaması projesi oluşturma:

    1. Dosya menüsünden Projeyi/Çözümü Aç'ı>seçin ve daha önce oluşturduğunuz GettingStarted çözümüne (GettingStarted.sln) göz atın. 'ı seçin.

    2. Görünüm menüsünden Çözüm Gezgini'ı seçin.

    3. Çözüm Gezgini penceresinde Başlarken çözümünü (üst düğüm) ve ardından kısayol menüsünden Yeni Proje Ekle'yi>seçin.

    4. Yeni Proje Ekle penceresinde, sol taraftaki Visual C# veya Visual Basic altındaki Windows Masaüstü kategorisini seçin.

    5. Konsol Uygulaması (.NET Framework) şablonunu seçin ve Ad olarak GettingStartedClient girin. Tamam'ı seçin.

  2. GettingStartedClient projesinde derlemeye System.ServiceModel bir başvuru ekleyin:

    1. Çözüm Gezgini penceresinde, GettingStartedClient projesinin altındaki Başvurular klasörünü seçin ve ardından kısayol menüsünden Başvuru Ekle'yi seçin.

    2. Başvuru Ekle penceresinde, pencerenin sol tarafındaki Derlemeler'in altında Çerçeve'yi seçin.

    3. System.ServiceModel'i bulup seçin ve ardından Tamam'ı seçin.

    4. Dosyayı>Tümünü Kaydet'i seçerek çözümü kaydedin.

  3. Hesap makinesi hizmetine hizmet başvurusu ekleyin:

    1. Çözüm Gezgini penceresinde, GettingStartedClient projesinin altındaki Başvurular klasörünü seçin ve ardından kısayol menüsünden Hizmet Başvurusu Ekle'yi seçin.

    2. Hizmet Başvurusu Ekle penceresinde Keşfet'i seçin.

      CalculatorService hizmeti başlatılır ve Visual Studio bunu Hizmetler kutusunda görüntüler.

    3. CalculatorService'i seçerek genişletin ve hizmet tarafından uygulanan hizmet sözleşmelerini görüntüleyin. Varsayılan Ad Alanı'nı bırakın ve Tamam'ı seçin.

      Visual Studio, GettingStartedClient projesindeki Bağlan ed Services klasörünün altına yeni bir öğe ekler.

ServiceModel Meta Veri Yardımcı Programı aracı

Aşağıdaki örneklerde, proxy sınıf dosyasını oluşturmak için isteğe bağlı olarak ServiceModel Meta Veri Yardımcı Programı aracının (Svcutil.exe) nasıl kullanılacağı gösterilmektedir. Bu araç proxy sınıf dosyasını ve App.config dosyasını oluşturur. Aşağıdaki örneklerde sırasıyla C# ve Visual Basic'te proxy'nin nasıl oluşturulacağı gösterilmektedir:

svcutil.exe /language:cs /out:generatedProxy.cs /config:app.config http://localhost:8000/GettingStarted/CalculatorService
svcutil.exe /language:vb /out:generatedProxy.vb /config:app.config http://localhost:8000/GettingStarted/CalculatorService

İstemci yapılandırma dosyası

İstemciyi oluşturduktan sonra Visual Studio, Aşağıdaki örneğe benzer olması gereken GettingStartedClient projesinde App.config yapılandırma dosyasını oluşturur:

    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
        <startup>
            <!-- specifies the version of WCF to use-->
            <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" />
        </startup>
        <system.serviceModel>
            <bindings>
                <!-- Uses wsHttpBinding-->
                <wsHttpBinding>
                    <binding name="WSHttpBinding_ICalculator" />
                </wsHttpBinding>
            </bindings>
            <client>
                <!-- specifies the endpoint to use when calling the service -->
                <endpoint address="http://localhost:8000/GettingStarted/CalculatorService"
                    binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_ICalculator"
                    contract="ServiceReference1.ICalculator" name="WSHttpBinding_ICalculator">
                    <identity>
                        <dns value="localhost" />
                    </identity>
                </endpoint>
            </client>
        </system.serviceModel>
    </configuration>

system.serviceModel> bölümünün altında endpoint> öğesine dikkat edin<.< endpoint> öğesi, <istemcinin hizmete erişmek için kullandığı uç noktayı aşağıdaki gibi tanımlar:

  • Adres: http://localhost:8000/GettingStarted/CalculatorService. Uç noktanın adresi.
  • Hizmet sözleşmesi: ServiceReference1.ICalculator. Hizmet sözleşmesi, WCF istemcisi ile hizmet arasındaki iletişimi işler. Hizmet Başvurusu Ekle işlevini kullandığınızda Visual Studio bu sözleşmeyi oluşturdu. Temelde GettingStartedLib projesinde tanımladığınız sözleşmenin bir kopyasıdır.
  • Bağlama: WSHttpBinding. Bağlama aktarım, birlikte çalışabilen güvenlik ve diğer yapılandırma ayrıntıları olarak HTTP'yi belirtir.

Sonraki adımlar

Bu öğreticide, şunların nasıl yapıldığını öğrendiniz:

  • WCF istemcisi için bir konsol uygulaması projesi oluşturun ve yapılandırın.
  • İstemci uygulaması için ara sunucu sınıfını ve yapılandırma dosyalarını oluşturmak için WCF hizmetine bir hizmet başvurusu ekleyin.

Oluşturulan istemciyi kullanmayı öğrenmek için sonraki öğreticiye geçin.