Udostępnij za pośrednictwem


Samouczek: definiowanie kontraktu usługi Windows Communication Foundation

W tym samouczku opisano pierwsze z pięciu zadań wymaganych do utworzenia podstawowej aplikacji windows Communication Foundation (WCF). Aby zapoznać się z omówieniem samouczków, zobacz Samouczek: rozpoczynanie pracy z aplikacjami Windows Communication Foundation.

Podczas tworzenia usługi WCF pierwszym zadaniem jest zdefiniowanie kontraktu usługi. Kontrakt usługi określa, jakie operacje obsługuje usługa. Operację można traktować jako metodę usługi sieci Web. Kontrakty usług można tworzyć, definiując interfejs języka C# lub Visual Basic. Interfejs ma następujące cechy:

Z tego samouczka dowiesz się, jak wykonywać następujące czynności:

  • Utwórz projekt biblioteki usług WCF.
  • Definiowanie interfejsu kontraktu usługi.

Tworzenie projektu biblioteki usług WCF i definiowanie interfejsu kontraktu usługi

  1. Otwórz program Visual Studio jako administrator. W tym celu wybierz program Visual Studio w menu Start , a następnie wybierz pozycję Więcej>Uruchom jako administrator z menu skrótów.

  2. Utwórz projekt biblioteki usług WCF.

    1. W menu Plik wybierz pozycję Nowy>projekt.

    2. W oknie dialogowym Nowy projekt po lewej stronie rozwiń węzeł Visual C# lub Visual Basic, a następnie wybierz kategorię WCF. Program Visual Studio wyświetla listę szablonów projektów w środkowej sekcji okna. Wybierz pozycję Biblioteka usług WCF.

      Uwaga

      Jeśli nie widzisz kategorii szablonu projektu WCF , może być konieczne zainstalowanie składnika Windows Communication Foundation programu Visual Studio. W oknie dialogowym Nowy projekt wybierz link Otwórz Instalator programu Visual Studio po lewej stronie. Wybierz kartę Poszczególne składniki , a następnie znajdź i wybierz pozycję Windows Communication Foundation w kategorii Działania programistyczne. Wybierz pozycję Modyfikuj , aby rozpocząć instalowanie składnika.

    3. W dolnej sekcji okna wprowadź ciąg GettingStartedLib w polu Nazwa i GettingStarted jako nazwę rozwiązania.

    4. Wybierz przycisk OK.

      Program Visual Studio tworzy projekt zawierający trzy pliki: IService1.cs (lub IService1.vb dla projektu Visual Basic), Service1.cs (lub Service1.vb dla projektu Visual Basic) i App.config. Program Visual Studio definiuje następujące pliki:

      • Plik IService1 zawiera domyślną definicję kontraktu usługi.
      • Plik Service1 zawiera domyślną implementację kontraktu usługi.
      • Plik App.config zawiera informacje o konfiguracji potrzebne do załadowania usługi domyślnej za pomocą narzędzia hosta usługi WCF programu Visual Studio. Aby uzyskać więcej informacji na temat narzędzia hosta usługi WCF, zobacz Host usługi WCF (WcfSvcHost.exe).

      Uwaga

      Jeśli program Visual Studio został zainstalowany przy użyciu ustawień środowiska deweloperskiego Visual Basic, rozwiązanie może być ukryte. Jeśli tak jest, wybierz pozycję Opcje z menu Narzędzia, a następnie wybierz pozycję Projekty i rozwiązania>Ogólne w oknie Opcje. Wybierz pozycję Zawsze pokazuj rozwiązanie. Sprawdź również, czy podczas tworzenia wybrano pozycję Zapisz nowe projekty.

  3. W Eksplorator rozwiązań otwórz plik IService1.cs lub IService1.vb i zastąp jego kod następującym kodem:

    using System;
    using System.ServiceModel;
    
    namespace GettingStartedLib
    {
            [ServiceContract(Namespace = "http://Microsoft.ServiceModel.Samples")]
            public interface ICalculator
            {
                [OperationContract]
                double Add(double n1, double n2);
                [OperationContract]
                double Subtract(double n1, double n2);
                [OperationContract]
                double Multiply(double n1, double n2);
                [OperationContract]
                double Divide(double n1, double n2);
            }
    }
    
    Imports System.ServiceModel
    
    Namespace GettingStartedLib
    
        <ServiceContract(Namespace:="http://Microsoft.ServiceModel.Samples")> _
        Public Interface ICalculator
    
            <OperationContract()> _
            Function Add(ByVal n1 As Double, ByVal n2 As Double) As Double
            <OperationContract()> _
            Function Subtract(ByVal n1 As Double, ByVal n2 As Double) As Double
            <OperationContract()> _
            Function Multiply(ByVal n1 As Double, ByVal n2 As Double) As Double
            <OperationContract()> _
            Function Divide(ByVal n1 As Double, ByVal n2 As Double) As Double
        End Interface
    End Namespace
    

    Ten kontrakt definiuje kalkulator online. Zwróć uwagę, że ICalculator interfejs jest oznaczony atrybutem ServiceContractAttribute (uproszczony jako ServiceContract). Ten atrybut definiuje przestrzeń nazw, aby uściślić nazwę kontraktu. Kod oznacza każdą operację kalkulatora za pomocą atrybutu OperationContractAttribute (uproszczonego jako OperationContract).

Następne kroki

W tym samouczku zawarto informacje na temat wykonywania następujących czynności:

  • Utwórz projekt biblioteki usług WCF.
  • Definiowanie interfejsu kontraktu usługi.

Przejdź do następnego samouczka, aby dowiedzieć się, jak zaimplementować kontrakt usługi WCF.