Sdílet prostřednictvím


Služby Windows Communication Foundation a datové služby WCF v sadě Visual Studio

Visual Studio 2008 poskytuje nástroje pro práci s Windows Communication Foundation (WCF) a WCF Data Services, technologie společnosti Microsoft k vytváření distribuovaných aplikací. Toto téma obsahuje úvod do služeb z perspektivy Visual Studio.

Co je WCF?

Windows Communication Foundation (WCF) je jednotná architektura pro vytváření bezpečných, spolehlivých, s podporou transakcí a interoperabilních distribuovaných aplikací. V dřívějších verzích Visual Studio bylo k dispozici několik technologií, které mohly být využity pro komunikaci mezi aplikacemi.

Pokud jste chtěli sdílet informace tak, aby byly povoleny k přístupu z libovolné platformy, použili byste webovou službu (označovanou také jako ASMX webová služba). Pokud jste chtěli pouze přesunout data mezi klientem a serverem, kteří byli spuštěni v operačním systému Windows, použili byste .NET Remoting. Pokud jste chtěli transakční komunikaci, použili byste Enterprise Services (DCOM) nebo pokud jste chtěli model ve frontě, použili byste službu Řízení front zpráv (také známo jako služba MSMQ).

WCF spojuje funkce všech těchto technologií v rámci jednotného programovacího modelu. To zjednodušuje možnosti vývoje distribuovaných aplikací.

Co jsou WCF datové služby

WCF Data Services jsou služby, které spolupracují přímo s databází, což vám umožní vrátit data, například pomocí standardních operací protokolu HTTP jako jsou GET, POST, PUT nebo DELETE. Obecně jsou WCF Data Services vhodné pro aplikace, které slouží k vytvoření, aktualizaci nebo odstranění záznamů v databázi. Další informace naleznete v ADO.NET Data Framework služby.

Programovací model WCF

Programovací model WCF je založen na komunikaci mezi dvěma entitami: Služba WCF a klient WCF. Programovací model je zapouzdřený v oboru názvů System.ServiceModel v .NET Framework.

WCF Service

Služba WCF je založena na rozhraní, které definuje kontrakt mezi klientem a službou. Je označeno atributem ServiceContractAttribute, jak je ukázáno v následujícím kódu:

<ServiceContract()>
Public Interface IService1
[ServiceContract]
public interface IService1
<OperationContract()>
Function GetData(ByVal value As String) As String
[OperationContract]
string GetData(string value);

Definujete-li funkce nebo metody, které jsou vystaveny službou WCF jejich označením atributem OperationContractAttribute. Navíc můžete vystavit serializovaná data označením složeného typu atributem DataContractAttribute. Toto umožňuje vázání dat v klientovi.

Potom, co jsou rozhraní a jeho metody definovány, jsou zapouzdřeny ve třídě, která implementuje rozhraní. Jediná třída služby WCF může implementovat více kontraktů služby.

Služba WCF je vystavena pro užívání prostřednictvím toho, co se nazývá koncový bod. Koncový bod poskytuje jediný způsob, jak lze komunikovat se službou; nelze získat přístup k službě prostřednictvím přímého odkazu, jako byste to udělali s jinými třídami.

Koncový bod se skládá z adresy, vazby a kontraktu. Adresa definuje, kde je služba umístěna; to by mohla být adresa URL, adresa protokolu FTP, síťová nebo místní cesta. Vazba definuje způsob, jakým komunikujete se službou. Vazby WCF poskytují všestranný model pro určující protokol jako například protokol HTTP nebo protokol FTP, bezpečnostní mechanismus, jako je například ověřování systému Windows nebo uživatelské jména a hesla a mnohem více. Kontrakt obsahuje operace, které jsou vystaveny třídou služby WCF.

Více koncových bodů může být vystaveno jedinou službou WCF. To umožňuje různým klientům komunikovat různými způsoby se stejnou službou. Bankovní služba může například poskytnout jeden koncový bod pro zaměstnance a jiný pro externí zákazníky, každý pomocí jiné adresy, vazby a/nebo kontraktu.

Klient WCF

Klient WCF se skládá z proxy, která umožňuje aplikaci komunikovat se službou WCF a koncového bodu, který odpovídá koncovému bodu definovanému pro službu. Proxy je generována na straně klienta v souboru app.config a obsahuje informace o typech a metodách, které jsou vystaveny službou. Pro služby, které vystavují více koncových bodů může klient vybrat ten, který nejlépe vyhovuje jeho potřebám, například pro komunikaci přes protokol HTTP a použití ověřování systému Windows.

Po vytvoření klienta WCF odkazujete na službu ve svém kódu stejným způsobem jako libovolný jiný objekt. Chcete-li například volat metodu GetData, jak bylo ukázáno dříve, zapsali byste kód podobný následujícímu:

  Private Sub Button1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button1.Click
      Dim client As New ServiceReference1.Service1Client
      Dim returnString As String

      returnString = client.GetData(TextBox1.Text)
      Label1.Text = returnString
  End Sub
private void button1_Click(System.Object sender, System.EventArgs e)
{
    ServiceReference1.Service1Client client = new
        ServiceReference1.Service1Client();
    string returnString;

    returnString = client.GetData(textBox1.Text);
    label1.Text = returnString;
}

Nástroje WCF v sadě Visual Studio

Visual Studio 2008 poskytuje nástroje, které vám pomůžou vytvořit služby WCF i klienty WCF. Podrobný návod, který demonstruje nástroje, naleznete v tématu Podrobné pokyny: Vytváření a přístup ke službám WCF.

Vytváření a testování služeb WCF

Můžete použít šablony WCF Visual Studio jako základ k rychlému vytvoření vlastní služby. Potom můžete použít automatického hostitele služby WCF a testovacího klienta WCF k ladění a testování služby. Tyto nástroje společně poskytují rychlý a pohodlný ladicí a testovací cyklus a odstraňují požadavky na zápis do hostitelských modelů v počátečních fázích.

Šablony WCF

Šablony WCF Visual Studio poskytují základní strukturu třídy pro vývoj služby. Několik šablon WCF je k dispozici v dialogovém okně Přidat nový projekt. Toto zahrnuje projekty knihovny služby WCF, webové servery služby WCF a šablony položek služby WCF.

Když vyberete šablonu, soubory jsou přidány pro kontrakt služby, implementaci služby a konfiguraci služby. Všechny nezbytné atributy jsou již přidány, vytvoření jednoduchého typu služby "Ahoj světe", a nemusíte psát jakýkoli kód. Budete samozřejmě chtít přidat kód k poskytnutí funkcí a metod pro skutečnou službu, ale šablony poskytují základ.

Další informace o šablonách WCF naleznete v tématu WCF Visual Studio Templates.

Hostitel služby WCF

Když spustíte ladicí program Visual Studio (stisknutím klávesy F5) pro projekt služby WCF, nástroj hostitele služby WCF se automaticky spustí k hostování služby místně. Hostitel služby WCF vyčte služby v projektu služby WCF, načte konfiguraci projektu a vytvoří instanci hostitele pro každou službu, kterou najde.

Pomocí hostitele služby WCF můžete testovat službu WCF bez psaní dalšího kódu nebo přeposláním k určitému hostiteli během vývoje.

Další informace o hostiteli služby WCF naleznete v tématu WCF Service Host (WcfSvcHost.exe).

Testovací klient WCF

Nástroj testovacího klienta WCF vám umožňuje zadat vstupní parametry, odeslat tento vstup do služby WCF a zobrazit odpověď, kterou služba odešle zpět. Poskytuje zkušenost pohodlného testování služby při kombinaci s hostitelem služby WCF.

Po stisknutí klávesy F5 k ladění projektu služby WCF se otevře testovací klient WCF a zobrazí seznam koncových bodů služby, které jsou definovány v konfiguračním souboru. Je možné testovat parametry a spustit službu a opakovat tento proces nepřetržitě k testování a ověřování vaší služby.

Další informace o testovacích klientech WCF naleznete v tématu WCF Test Client (WcfTestClient.exe).

Přístup k službám WCF v sadě Visual Studio

Visual Studio 2008 zjednodušuje vytváření klientů WCF, automatické generování proxy a koncového bodu služeb, které můžete přidat pomocí dialogového okna Přidat odkaz na službu. Všechny potřebné informace o konfiguraci jsou přidány do souboru app.config. Ve většině případů, vše, co je nutné provést, je vytvořit instanci služby, aby bylo možné ji použít.

Dialogové okno Přidat odkaz na službu umožňuje zadat adresu služby nebo vyhledat službu, která je definována ve vašem řešení. Dialogové okno vrací seznam služeb a operací, které poskytují tyto služby. Také vám to umožňuje definovat obor názvů, podle kterého budete odkazovat na službu v kódu.

Dialogové okno Nastavit odkaz na službu umožňuje přizpůsobit konfiguraci služby. Můžete změnit adresu služby, určit úroveň přístupu, asynchronní chování a typy kontraktů zpráv a nakonfigurovat opětovné použití typu.

Příbuzná témata

Title

Popis

Podrobné pokyny: Vytváření a přístup ke službám WCF

Poskytuje podrobnou demonstraci vytváření a používání služby WCF v Visual Studio.

Podrobné pokyny: Vytváření a přístup k datové službě WCF v sadě Visual Studio

Poskytuje podrobnou demonstraci vytvoření a použití WCF Data Services v Visual Studio.

Using the WCF Development Tools

Tento článek popisuje vytvoření a testování služeb WCF v Visual Studio.

Postupy: Přidat, aktualizovat nebo odebrat odkaz na službu

Popisuje, jak přidat, aktualizovat nebo odebrat služby WCF z projektu.

Postupy: Přidat, aktualizovat nebo odebrat odkaz na datovou službu WCF

Tento článek popisuje, jak odkazovat a používat WCF Data Services v Visual Studio.

Postupy: Přidání odkazu na webovou službu

Popisuje, jak přidat do projektu odkaz na XML (ASMX) webovou službu.

Postupy: Vybrat koncový bod služby

Popisuje, jak vybrat koncový bod služby WCF, který poskytuje více koncových bodů.

Postupy: Volat metodu služby asynchronně

Popisuje způsob, jak volat službu WCF asynchronně.

Postupy: Vázání dat vrácených pomocí služby

Toto téma obsahuje postup, jak povolit vytváření datových vazeb na službu WCF.

Postupy: Konfigurace služby pro znovu použití existujících typů

Popisuje, jak povolit nebo zakázat sdílení typu služby WCF.

Poradce při potížích odkazů na služby

Uvádí některé běžné chyby, které se mohou vyskytnout s odkazy na služby a jak jim zabránit.

Ladění služby WCF

Popisuje běžné problémy ladění a techniky, se kterými se můžete setkat při ladění služeb WCF.

Přehled ověřovací služby technologie Windows Communication Foundation

Popisuje způsob, jak použít WCF k poskytnutí služby rolí pro web.

Messaging in the .NET Compact Framework

Popisuje podporu pro vrstvu zasílání zpráv WCF v prostředí .NET Compact Framework.

Walkthrough: Creating an N-Tier Data Application

Toto téma obsahuje podrobné pokyny pro vytváření definované datové sady a oddělení kódu TableAdapter a datové sady do více projektů.

Dialogové okno Přidat odkaz na službu

Popisuje prvky uživatelského rozhraní dialogového okna Přidat odkaz na službu.

Dialogové okno Nastavit odkaz na službu

Popisuje prvky uživatelského rozhraní dialogového okna Nastavit odkaz na službu.

Odkaz

System.ServiceModel

System.Data.Services