Sdílet prostřednictvím


Kurz: Definování kontraktu služby Windows Communication Foundation

Tento kurz popisuje prvních pět úloh potřebných k vytvoření základní aplikace WCF (Windows Communication Foundation). Přehled kurzů najdete v tématu Kurz: Začínáme s aplikacemi Windows Communication Foundation.

Při vytváření služby WCF je vaším prvním úkolem definovat kontrakt služby. Kontrakt služby určuje, jaké operace služba podporuje. Operaci lze považovat za metodu webové služby. Kontrakty služeb vytvoříte definováním rozhraní jazyka C# nebo Visual Basic. Rozhraní má následující charakteristiky:

V tomto kurzu se naučíte:

  • Vytvořte projekt knihovny služeb WCF.
  • Definujte rozhraní kontraktů služeb.

Vytvoření projektu knihovny služeb WCF a definování rozhraní kontraktu služby

  1. Otevřete Visual Studio jako správce. Uděláte to tak, že v nabídce Start vyberete program sady Visual Studio a pak v místní nabídce vyberete Další>spuštění jako správce .

  2. Vytvořte projekt knihovny služeb WCF.

    1. V nabídce Soubor vyberte Nový>projekt.

    2. V dialogovém okně Nový projekt na levé straně rozbalte Visual C# nebo Visual Basic a pak vyberte kategorii WCF . Visual Studio zobrazí seznam šablon projektů v prostřední části okna. Vyberte knihovnu služeb WCF.

      Poznámka:

      Pokud nevidíte kategorii šablony projektu WCF , možná budete muset nainstalovat komponentu Windows Communication Foundation sady Visual Studio. V dialogovém okně Nový projekt vyberte odkaz Otevřít Instalační program pro Visual Studio na levé straně. Vyberte kartu Jednotlivé součásti a pak v kategorii Aktivity vývoje vyhledejte a vyberte Windows Communication Foundation. Chcete-li zahájit instalaci komponenty, zvolte Možnost Upravit .

    3. V dolní části okna zadejte GettingStartedLib pro název a GettingStarted pro název řešení.

    4. Vyberte OK.

      Visual Studio vytvoří projekt, který má tři soubory: IService1.cs (nebo IService1.vb pro projekt Visual Basic), Service1.cs (nebo Service1.vb pro projekt Visual Basic) a App.config. Visual Studio definuje tyto soubory následujícím způsobem:

      • Soubor IService1 obsahuje výchozí definici kontraktu služby.
      • Soubor Service1 obsahuje výchozí implementaci kontraktu služby.
      • Soubor App.config obsahuje konfigurační informace potřebné k načtení výchozí služby pomocí nástroje Hostitele služby WCF sady Visual Studio. Další informace o nástroji Hostitel služby WCF naleznete v tématu Hostitel služby WCF (WcfSvcHost.exe).

      Poznámka:

      Pokud jste nainstalovali Visual Studio s nastavením vývojového prostředí jazyka Visual Basic, může být řešení skryté. Pokud se jedná o tento případ, v nabídce Nástroje vyberte Možnosti a pak v okně Možnosti vyberte Projekty a řešení>Obecné. Vyberte Vždy zobrazit řešení. Ověřte také, že je při vytváření vybráno uložit nové projekty.

  3. V Průzkumník řešení otevřete soubor IService1.cs nebo IService1.vb a nahraďte jeho kód následujícím kódem:

    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
    

    Tento kontrakt definuje online kalkulačku. Všimněte si, že ICalculator rozhraní je označené atributem ServiceContractAttribute (zjednodušené jako ServiceContract). Tento atribut definuje obor názvů pro nejednoznačnost názvu kontraktu. Kód označí každou operaci kalkulačky atributem OperationContractAttribute (zjednodušeným jako OperationContract).

Další kroky

V tomto kurzu jste se naučili, jak:

  • Vytvořte projekt knihovny služeb WCF.
  • Definujte rozhraní kontraktů služeb.

V dalším kurzu se dozvíte, jak implementovat kontrakt služby WCF.