Sdílet prostřednictvím


Názorný postup: Vytváření a přístup k datové služby WCF v aplikaci Visual Studio

Tento návod ukazuje, jak vytvořit jednoduchou WCF Data Service, která je hostována ve webové aplikaci ASP.NET a potom k ní přistoupit z aplikace modelu Windows Forms.

V tomto návodu se dozvíte, jak:

  • Vytvořit webovou aplikaci k hostování WCF Data Service.

  • Vytvořit Entity Data Model, který představuje tabulku Zákazníci v databázi Northwind.

  • Vytvořit WCF Data Service.

  • Vytvořit klientskou aplikaci a přidat odkaz na WCF Data Service.

  • Povolit datovou vazbu ke službě a generovat uživatelské rozhraní.

  • Volitelně přidat možnosti filtrování do aplikace.

Požadavky

Chcete-li dokončit tento návod, potřebujete následující komponenty:

Vytváření služby

Chcete-li vytvořit WCF Data Service, přidáte webový projekt, vytvoříte Entity Data Model, a potom vytvoříte službu z modelu.

V prvním kroku přidáte webový projekt k hostování služby.

[!POZNÁMKA]

Ve vašem počítači se pro některé z prvků uživatelského rozhraní sady Visual Studio mohou zobrazit jiné názvy a umístění, než jsou uvedeny v následujících pokynech. Tyto prvky jsou určeny verzí aplikace Visual Studio a použitým nastavením. Další informace naleznete v tématu Nastavení aplikace Visual Studio.

Vytvořit webový projekt

  1. V nabídce Visual Studio Soubor klikněte na Nový Projekt.

  2. V Nový projekt dialogové okno pole, rozbalte položku jazyka Visual Basic nebo Visual C# uzel a klepněte na tlačítko Weba potom vyberte Aplikaci webových formulářů technologie ASP.NET.

  3. V poli Název zadejte NorthwindWeb a klikněte na tlačítko OK k vytvoření projektu.

V tomto kroku vytvoříte Entity Data Model, který představuje tabulku Zákazníci v databázi Northwind.

Vytvořit Entity Data Model

  1. V nabídce Projekt klikněte na příkaz Přidat novou položku.

  2. V Přidat novou položku dialogové okno, vyberte data potom vyberte ADO.NET Entity Data Model.

  3. V poli Název zadejte NorthwindModel a poté klikněte na tlačítko Přidat.

    Zobrazí se průvodce Entity Data Model.

  4. V průvodci Entity Data Model vyberte Generovat z databáze, a pak klikněte na tlačítko Další.

  5. Na stránce Vybrat datové připojení proveďte jeden z následujících kroků:

    • Pokud připojení dat k ukázkové databázi Northwind je k dispozici v rozevíracím seznamu, klikněte na něj.

      -nebo-

    • Klikněte na tlačítko Nové připojení ke konfiguraci nového připojení dat.Další informace naleznete v tématu How to: Create Connections to SQL Server Databases.

  6. Pokud databáze vyžaduje heslo, vyberte možnost k zahrnutí důvěrných osobních údajů, a pak klikněte na tlačítko Další.

    [!POZNÁMKA]

    Pokud se zobrazí dialogové okno, klikněte na tlačítko Ano k uložení souboru do vašeho projektu.

  7. Na stránce Zvolte si vaše databázové objekty rozbalte uzel Tabulky, vyberte zaškrtávací políčko vedle Zákazníci, a potom klikněte na tlačítko Dokončit.

    Zobrazí se diagram modelu entit a soubor NorthwindModel.edmx bude přidán do projektu.

V tomto kroku vytvoříte a otestujete datovou službu.

Vytvořit datovou službu

  1. V nabídce Projekt klikněte na příkaz Přidat novou položku.

  2. V Přidat novou položku dialogové okno, vyberte Web a potom vyberte Datová služba WCF.

  3. V poli Název zadejte NorthwindCustomers a poté klikněte na tlačítko Přidat.

    Soubor NorthwindCustomers.svc se zobrazí v Editoru kódu.

  4. V Editoru kódu nalezněte první komentář TODO: a nahraďte kód následujícím:

    Inherits DataService(Of northwindEntities)
    
    public class NorthwindCustomers : DataService<northwindEntities>
    

    [!POZNÁMKA]

    V závislosti na verzi databáze Northwind, kterou používáte, budete muset změnit "NORTHWIND" na "NORTHWND".Pomocí technologie IntelliSense můžete také zjistit správný název.

  5. Nahraďte komentáře v obslužné rutině události InitializeService následujícím kódem:

    config.SetEntitySetAccessRule("*", EntitySetRights.All)
    
    config.SetEntitySetAccessRule("*", EntitySetRights.All);
    
  6. Stiskněte klávesy CTRL + F5 ke spuštění službu.Okno prohlížeče se otevře a schéma XML pro službu se zobrazí.

  7. V panelu Adresa zadejte Zákazníci na konci adresy URL pro NorthwindCustomers.svc a stiskněte klávesu ENTER.

    XML reprezentace dat v tabulce Zákazníci bude zobrazena.

    [!POZNÁMKA]

    V některých případech bude aplikace Internet Explorer špatně interpretovat data jako informační kanál RSS.Musíte si být jisti, že je zakázána možnost zobrazit informační kanály RSS.Další informace naleznete v tématu Poradce při potížích odkazů na služby.

  8. Zavření okna prohlížeče.

V následujících postupech vytvoříte klientskou aplikaci modelu Windows Forms, která bude využívat službu.

Vytváření klientské aplikace

Chcete-li vytvořit klientskou aplikaci, přidáte druhý projekt, přidáte odkaz na službu do projektu, nakonfigurujete zdroj dat a vytvoříte uživatelské rozhraní k zobrazení dat ze služby.

V prvním kroku přidáte projekt modelu Windows Forms do řešení a nastavíte ho jako projekt při spuštění.

Vytvořit klientskou aplikaci

  1. V nabídce Visual Studio Soubor klikněte na Přidat a potom klikněte na Nový projekt.

  2. V dialogovém okně Nový projekt rozbalte uzel Visual Basic nebo Visual C# a klikněte na tlačítko Windows a vyberte Formulářová aplikace Windows.

  3. V poli Název zadejte NorthwindClient a klikněte na tlačítko OK k otevření projektu.

  4. V Průzkumníku řešení vyberte projekt NorthwindClient.

  5. V nabídce Projekt klikněte na tlačítko Nastavit jako projekt při spuštění.

V tomto kroku přidáte odkaz na službu WCF Data Service ve webovém projektu.

Přidat odkaz na službu

  1. V nabídce Projekt klikněte na příkaz Přidat odkaz na službu.

  2. V dialogovém okně Přidat odkaz na službu klikněte na položku Zjišťování.

    Adresa URL služby NorthwindCustomers se zobrazí v poli Adresa.

  3. Klikněte na tlačítko OK k přidání odkazu na službu.

V tomto kroku nakonfigurujete zdroj dat pro povolení vytváření datových vazeb na službu.

Povolit datové vazby na službu

  1. V nabídce Data klikněte na tlačítko Zobrazit zdroje dat.

  2. V okně Zdroje dat klikněte na tlačítko Přidat nový zdroj dat.

  3. Na stránce Vybrat Typ Zdroje DatPrůvodce konfigurací Zdroje Dat klikněte na Objekt a potom klikněte na tlačítko Další.

  4. Na stránce Vyberte objekt, ke kterému chcete vytvořit vazbu rozbalte uzel NorthwindClient a potom rozbalte uzel NorthwindClient.ServiceReference1.

  5. Vyberte Zákazníci a potom klikněte na tlačítko Dokončit.

V tomto kroku můžete vytvořit uživatelské rozhraní, které zobrazí data ze služby.

Vytvořit uživatelské rozhraní

  1. Přetáhněte uzel Zákazníci z okna Zdroje dat do formuláře.

    Ovládací prvek DataGridView, komponenta BindingSource a komponenta BindingNavigator jsou přidány do formuláře.

  2. Dvakrát klikněte na formulář k otevření Editoru kódu a přidejte následující kód do obslužné rutiny události Form1_Load:

           Dim proxy As New ServiceReference1.northwindModel.northwindEntities _
    (New Uri("https://localhost:53161/NorthwindCustomers.svc/"))
           Me.CustomersBindingSource.DataSource = proxy.Customers
    
               ServiceReference1.northwindModel.northwindEntities proxy = new
    ServiceReference1.northwindModel.northwindEntities(new
    Uri("https://localhost:53397/NorthwindCustomers.svc/"));
               this.customersBindingSource.DataSource = proxy.Customers;
    

    [!POZNÁMKA]

    V závislosti na verzi databáze Northwind, kterou používáte, budete muset změnit "NORTHWIND" na "NORTHWND".Pomocí technologie IntelliSense můžete také zjistit správný název.

  3. V Průzkumníku řešení klikněte pravým tlačítkem myši na soubor NorthwindCustomers.svc a potom klikněte na Zobrazit v prohlížeči.Aplikace Internet Explorer se otevře a zobrazí se schéma XML pro službu.

  4. Zkopírujte adresu URL z panelu Adresa aplikace Internet Explorer.

  5. V kódu, který jste přidali v kroku 2, vyberte https://localhost:14735/NorthwindCustomers.svc a nahraďte ji s adresou URL, kterou jste zkopírovali.

  6. Stisknutím klávesy F5 spustíte aplikaci.Zobrazí se informace o zákazníkovi.

Nyní máte funkční aplikaci, která zobrazí seznam zákazníků ze služby NorthwindCustomers.Pokud chcete zobrazit další data prostřednictvím služby, můžete upravit Entity Data Model k zahrnutí další tabulky z databáze Northwind.

V dalším volitelném kroku se dozvíte, jak filtrovat data, která jsou vrácena službou.

Přidání možností filtrování

V tomto kroku budete přizpůsobovat aplikaci k filtrování dat podle města zákazníka.

Přidat filtrování podle města

  1. V Průzkumníku řešení dvakrát klikněte na Form1.vb nebo Form1.cs k zobrazení Návrháře formulářů.

  2. Přetáhněte ovládací prvek TextBox a ovládací prvek Button z Panelu nástrojů do formuláře.

  3. Dvakrát klikněte na ovládací prvek Button a přidejte následující kód v obslužné rutině události Button1_Click:

           Dim proxy As New ServiceReference1.northwindModel.northwindEntities _
    (New Uri("https://localhost:53161/NorthwindCustomers.svc"))
           Dim city As String = TextBox1.Text
    
           If city <> "" Then
               Me.CustomersBindingSource.DataSource = From c In _
            proxy.Customers Where c.City = city
           End If
    
            ServiceReference1.northwindModel.northwindEntities proxy = new
     ServiceReference1.northwindModel.northwindEntities(new
     Uri("https://localhost:53397/NorthwindCustomers.svc/"));
        string city = textBox1.Text;
    
    if (city != "")
    {
        this.customersBindingSource.DataSource = from c in
     proxy.Customers where c.City == city select c;   
    
  4. V předcházejícím kódu nahraďte https://localhost:14735/NorthwindCustomers.svc adresou URL z obslužné rutiny události Form1_Load.

  5. Stisknutím klávesy F5 spustíte aplikaci.

  6. Do textového pole zadejte London a klikněte na tlačítko.Zobrazí se pouze zákazníci z Londýna.

Viz také

Úkoly

Jak: přidat, aktualizovat nebo odebrat odkaz služby WCF dat