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:
Ukázkovou databázi Northwind
Pokud tuto databázi na vašem vývojovém počítači nemáte, můžete ji stáhnout z Microsoft Download Center.Pokyny naleznete v části Downloading Sample Databases (LINQ to SQL).
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
V nabídce Visual Studio Soubor klikněte na Nový Projekt.
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.
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
V nabídce Projekt klikněte na příkaz Přidat novou položku.
V Přidat novou položku dialogové okno, vyberte data potom vyberte ADO.NET Entity Data Model.
V poli Název zadejte NorthwindModel a poté klikněte na tlačítko Přidat.
Zobrazí se průvodce Entity Data Model.
V průvodci Entity Data Model vyberte Generovat z databáze, a pak klikněte na tlačítko Další.
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.
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.
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
V nabídce Projekt klikněte na příkaz Přidat novou položku.
V Přidat novou položku dialogové okno, vyberte Web a potom vyberte Datová služba WCF.
V poli Název zadejte NorthwindCustomers a poté klikněte na tlačítko Přidat.
Soubor NorthwindCustomers.svc se zobrazí v Editoru kódu.
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.
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);
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í.
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.
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
V nabídce Visual Studio Soubor klikněte na Přidat a potom klikněte na Nový projekt.
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.
V poli Název zadejte NorthwindClient a klikněte na tlačítko OK k otevření projektu.
V Průzkumníku řešení vyberte projekt NorthwindClient.
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
V nabídce Projekt klikněte na příkaz Přidat odkaz na službu.
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.
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
V nabídce Data klikněte na tlačítko Zobrazit zdroje dat.
V okně Zdroje dat klikněte na tlačítko Přidat nový zdroj dat.
Na stránce Vybrat Typ Zdroje DatPrůvodce konfigurací Zdroje Dat klikněte na Objekt a potom klikněte na tlačítko Další.
Na stránce Vyberte objekt, ke kterému chcete vytvořit vazbu rozbalte uzel NorthwindClient a potom rozbalte uzel NorthwindClient.ServiceReference1.
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í
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.
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.
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.
Zkopírujte adresu URL z panelu Adresa aplikace Internet Explorer.
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.
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
V Průzkumníku řešení dvakrát klikněte na Form1.vb nebo Form1.cs k zobrazení Návrháře formulářů.
Přetáhněte ovládací prvek TextBox a ovládací prvek Button z Panelu nástrojů do formuláře.
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;
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.
Stisknutím klávesy F5 spustíte aplikaci.
Do textového pole zadejte London a klikněte na tlačítko.Zobrazí se pouze zákazníci z Londýna.