Aracılığıyla paylaş


Öğretici: Windows Communication Foundation hizmet sözleşmesi uygulama

Bu öğreticide, temel bir Windows Communication Foundation (WCF) uygulaması oluşturmak için gereken beş görevden ikincisi 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 adım, önceki adımda oluşturduğunuz WCF hizmet arabirimini uygulamak için kod eklemektir. Bu adımda, kullanıcı tanımlı ICalculator arabirimi uygulayan adlı CalculatorService bir sınıf oluşturursunuz. Aşağıdaki koddaki her yöntem bir hesap makinesi işlemini çağırır ve bunu test etmek için konsola metin yazar.

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

  • WCF hizmet sözleşmesini uygulamak için kod ekleyin.
  • Çözümü oluşturun.

WCF hizmet sözleşmesini uygulamak için kod ekleme

GettingStartedLib'de Service1.cs veya Service1.vb dosyasını açın ve kodunu aşağıdaki kodla değiştirin:

using System;
using System.ServiceModel;

namespace GettingStartedLib
{
    public class CalculatorService : ICalculator
    {
        public double Add(double n1, double n2)
        {
            double result = n1 + n2;
            Console.WriteLine("Received Add({0},{1})", n1, n2);
            // Code added to write output to the console window.
            Console.WriteLine("Return: {0}", result);
            return result;
        }

        public double Subtract(double n1, double n2)
        {
            double result = n1 - n2;
            Console.WriteLine("Received Subtract({0},{1})", n1, n2);
            Console.WriteLine("Return: {0}", result);
            return result;
        }

        public double Multiply(double n1, double n2)
        {
            double result = n1 * n2;
            Console.WriteLine("Received Multiply({0},{1})", n1, n2);
            Console.WriteLine("Return: {0}", result);
            return result;
        }

        public double Divide(double n1, double n2)
        {
            double result = n1 / n2;
            Console.WriteLine("Received Divide({0},{1})", n1, n2);
            Console.WriteLine("Return: {0}", result);
            return result;
        }
    }
}
Imports System.ServiceModel

Namespace GettingStartedLib

    Public Class CalculatorService
        Implements ICalculator

        Public Function Add(ByVal n1 As Double, ByVal n2 As Double) As Double Implements ICalculator.Add
            Dim result As Double = n1 + n2
            ' Code added to write output to the console window.
            Console.WriteLine("Received Add({0},{1})", n1, n2)
            Console.WriteLine("Return: {0}", result)
            Return result
        End Function

        Public Function Subtract(ByVal n1 As Double, ByVal n2 As Double) As Double Implements ICalculator.Subtract
            Dim result As Double = n1 - n2
            Console.WriteLine("Received Subtract({0},{1})", n1, n2)
            Console.WriteLine("Return: {0}", result)
            Return result

        End Function

        Public Function Multiply(ByVal n1 As Double, ByVal n2 As Double) As Double Implements ICalculator.Multiply
            Dim result As Double = n1 * n2
            Console.WriteLine("Received Multiply({0},{1})", n1, n2)
            Console.WriteLine("Return: {0}", result)
            Return result

        End Function

        Public Function Divide(ByVal n1 As Double, ByVal n2 As Double) As Double Implements ICalculator.Divide
            Dim result As Double = n1 / n2
            Console.WriteLine("Received Divide({0},{1})", n1, n2)
            Console.WriteLine("Return: {0}", result)
            Return result

        End Function
    End Class
End Namespace

App.config dosyasını düzenleme

Kodda yaptığınız değişiklikleri yansıtmak için GettingStartedLib'de App.config dosyasını düzenleyin.

  • Visual C# projeleri için:

    • 14. satırı olarak değiştirme <service name="GettingStartedLib.CalculatorService">
    • 17. satırı olarak değiştirme <add baseAddress = "http://localhost:8000/GettingStarted/CalculatorService" />
    • 22. satırı olarak değiştirme <endpoint address="" binding="wsHttpBinding" contract="GettingStartedLib.ICalculator">
  • Visual Basic projeleri için:

    • 14. satırı olarak değiştirme <service name="GettingStartedLib.GettingStartedLib.CalculatorService">
    • 17. satırı olarak değiştirme <add baseAddress = "http://localhost:8000/GettingStarted/CalculatorService" />
    • 22. satırı olarak değiştirme <endpoint address="" binding="wsHttpBinding" contract="GettingStartedLib.GettingStartedLib.ICalculator">

Kodu derleme

Derleme hatası olmadığını doğrulamak için çözümü derleyin. Visual Studio kullanıyorsanız, Derleme menüsünde Çözüm Derle'yi seçin (veya Ctrl+Shift B tuşlarına+basın).

Sonraki adımlar

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

  • WCF hizmet sözleşmesini uygulamak için kod ekleyin.
  • Çözümü oluşturun.

WCF hizmetini çalıştırmayı öğrenmek için sonraki öğreticiye geçin.