Freigeben über


WCF Data Service

mit WCF Data Services können Sie OData-Dienste (Open Data Protocol) in Ihrer Anwendung erstellen und nutzen. OData macht Ihre Daten als Ressourcen verfügbar, die von URIs adressierbar sind, sodass Sie mithilfe der Semantik der Representational State Transfer (REST), insbesondere der HTTP-Standardverben GET, PUT, POST und DELETE, auf Daten zugreifen und diese ändern können. Weitere Informationen finden Sie unter ASP.NET Dynamische Dateninhaltszuordnung (https://go.microsoft.com/fwlink/?LinkId=199029), WCF Data Services (https://go.microsoft.com/fwlink/?LinkId=199030) und Entwicklerhandbuch zum WCF REST Starter Kit (https://go.microsoft.com/fwlink/?LinkId=199031).

Dieses Thema enthält folgende Abschnitte:

Hinzufügen des WCF-Datendiensts

Diese exemplarische Vorgehensweise baut auf der exemplarischen Vorgehensweise dynamic Data Web in Dynamic Data Web auf. Führen Sie die folgenden Schritte aus, um den WCF-Datendienst mithilfe einer Visual Studio-Vorlage zu erstellen.

  1. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf den Projektnamen DynamicData. Das Dialogfeld Neues Element hinzufügen wird angezeigt.

  2. Wählen Sie unter Installierte Vorlagen im linken Bereich Visual C# aus.

  3. Wählen Sie im mittleren Bereich WCF Data Service aus.

  4. Geben Sie im Feld Name einen Namen für den Datendienst ein. Geben Sie beispielsweise den Namen WcfDataServiceDB2.svc ein, und klicken Sie auf Hinzufügen.

Wichtig

Sie müssen den Zugriff auf Ressourcen explizit aktivieren, bevor Sie auf Ressourcen oder Zuordnungen zugreifen können. Um Lese- und Schreibzugriff auf alle Ressourcen im Entitätsdatenmodell zu aktivieren, das dem Dienst zugeordnet ist, suchen Sie nach der InitializeService-Methode, und stellen Sie sicher, dass sie mit dem im Beispiel gezeigten übereinstimmt.

Konfigurieren des WCF-Datendiensts

  1. Ersetzen Sie in der Datei WcfDataServiceDB2.cs die Codekommentare /* TODO: put your data source class name here */ durch SAMPLEModel.SAMPLEEntities.

    public class WcfDataServiceDB2 : DataService<SAMPLEModel.SAMPLEEntities>
    

    Der nächste Schritt besteht darin, den Zugriff auf die Entitäten zuzulassen, die vom Datendienst verfügbar gemacht werden. Standardmäßig ist der Zugriff auf alle Entitätssätze nicht zulässig. Der Zugriff muss für jeden Entitätssatz zulässig sein.

  2. Heben Sie in der Datei WcfDataServiceDB2.cs die Auskommentierung des Codes auf, der die Konfiguration enthält. SetEntitySetAccessRule. Ersetzen Sie MyEntitySet durch ein Sternchen (*), und ersetzen Sie AllRead durch All.

    using System;
    using System.Data.Services;
    using System.Data.Services.Common;
    using System.Collections.Generic;
    using System.Linq;
    using System.ServiceModel.Web;
    
    public class WcfDataServiceDB2 : DataService<SAMPLEModel.SAMPLEEntities>
    {
        // This method is called only once to initialize service-wide policies.
        public static void InitializeService(DataServiceConfiguration config)
        {
            // TODO: set rules to indicate which entity sets and service operations are visible, updatable, etc.
            // Examples:
            config.SetEntitySetAccessRule("*", EntitySetRights.All);
            // config.SetServiceOperationAccessRule("MyServiceOperation", ServiceOperationRights.All);
            config.DataServiceBehavior.MaxProtocolVersion = DataServiceProtocolVersion.V2;
        }
    }
    
    
  3. Klicken Sie im Menü Datei auf WcfDataServiceDB2.cs speichern.

  4. Klicken Sie in Projektmappen-Explorer mit der rechten Maustaste auf WcfDataServiceDB2.svc, und wählen Sie Als Startseite festlegen aus.

Konfigurieren von Internet Explorer für die Verwendung mit WCF Data Service

Führen Sie die folgenden Schritte aus, um internet Explorer so zu konfigurieren, dass der WCF-Datendienst als RSS-Feed angezeigt wird.

  1. Klicken Sie im Menü Extras auf Internetoptionen, und klicken Sie dann auf Inhalt.

  2. Der Bereich Inhalt des Dialogfelds Internetoptionen wird angezeigt.

  3. Klicken Sie auf Einstellungen für Feeds und Web Slices. Deaktivieren Sie das Kontrollkästchen Feedleseansicht aktivieren , und klicken Sie dann auf OK.

Testen des WCF-Datendiensts

Führen Sie die folgenden Schritte aus, um den wcf Data Service zu testen, den Sie erstellt haben.

  1. Klicken Sie im Menü Debuggen auf Debuggen starten. Wenn Sie dazu aufgefordert werden, das Debuggen zu aktivieren, klicken Sie auf OK. Internet Explorer zeigt den WCF-Datendienst an.

    OData macht Daten als durch URIs adressierbare Ressourcen verfügbar. Die Ressourcenpfade werden anhand der Entitätsbeziehungskonventionen des Entity Data Model erstellt. In diesem Modell stellen Entitäten operative Einheiten von Daten in einer Anwendungsdomäne dar, z. B. DEPARTMENTs und EMPLOYEEs.

  2. Geben Sie in Internet Explorer einen URI ein, um alle Datensätze aus einer DB2-Tabelle über den Datendienst zurückzugeben.

    In OData adressieren Sie Entitätsressourcen als Entitätssatz, der Instanzen von Entitätstypen enthält. Der URI http://services.odata.org/Northwind/Northwind.svc/Customers('ALFKI')/Orders gibt beispielsweise alle Bestellungen des Northwind-Datendiensts zurück, die mit dem Kunden mit dem CustomerID-Wert ALFKI verknüpft sind.

    http://localhost:36651/DynamicData/WcfDataServiceDB2.svc/DEPARTMENTs
    
  3. Schließen Sie den Browser, wenn Sie die Anzeige der Datenbankdatensätze abgeschlossen haben.

Weitere Informationen

Dynamic Data WebEntity Framework