Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In dieser Aufgabe erstellen Sie eine lokale Version des Northwind-Beispieldatendiensts, der WCF Data Services verwendet, um einen Open Data Protocol (OData)-Feed auf Grundlage der Northwind-Beispieldatenbank verfügbar macht. Diese Version unterstützt das Aktualisieren von Daten in der Northwind-Datenbank mit OData. Die Aufgabe umfasst die folgenden grundlegenden Schritte:
Erstellen Sie eine ASP.NET-Webanwendung.
Definieren Sie mit den Entity Data Model-Tools das Datenmodell.
Fügen Sie den Datendienst der Webanwendung hinzu.
Aktivieren Sie den Zugriff auf den Datendienst.
Hinweis
Die beim Durchführen dieser Aufgabe erstellte ASP.NET-Webanwendung wird auf dem von Visual Studio bereitgestellten ASP.NET Development Server ausgeführt.ASP.NET Development Server unterstützt nur Zugriff vom lokalen Computer.Um außerdem das Testen und die Problembehebung des Datendiensts während der Entwicklung zu vereinfachen, sollte die Anwendung, die den Datendienst hostet, möglicherweise mithilfe von Internetinformationsdienste (IIS) ausgeführt werden.Weitere Informationen finden Sie unter Vorgehensweise: Entwickeln eines WCF-Datendiensts, der auf IIS ausgeführt wird.
So erstellen Sie die ASP.NET-Webanwendung
Wählen Sie in Visual Studio im Menü Datei die Option Neu aus, und klicken Sie dann auf Projekt.
Wählen Sie im Dialogfeld Neues Projekt unter Visual Basic oder Visual C# die Vorlage Web und dann ASP.NET-Webanwendung aus.
Hinweis
Wenn Sie Visual Studio Web Developer verwenden, müssen Sie anstelle einer neuen Webanwendung eine neue Website erstellen.
Geben Sie NorthwindService als Namen des Projekts ein.
Klicken Sie auf OK.
(Optional) Geben Sie eine bestimmte Portnummer für die Webanwendung an. Hinweis: Im weiteren Verlauf des Schnellstarts wird die Portnummer 12345 verwendet.
Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf den Namen des von Ihnen erstellten ASP.NET-Projekts, und klicken Sie dann auf Eigenschaften.
Wählen Sie die Registerkarte Web aus, und legen Sie den Wert des Textfelds Bestimmter Anschluss auf 12345 fest.
So definieren Sie das Datenmodell
Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf den Namen des ASP.NET-Projekts, und klicken Sie anschließend auf Neues Element hinzufügen.
Klicken Sie im Dialogfeld Neues Element hinzufügen auf die Vorlage Daten, und wählen Sie dann ADO.NET Entity Data Model aus.
Geben Sie als Name des Datenmodells Northwind.edmx ein.
Wählen Sie im Assistenten für Entity Data Model die Option Aus Datenbank generieren aus, und klicken Sie dann auf Weiter.
Verbinden Sie das Datenmodell mit der Datenbank, indem Sie einen der folgenden Schritte ausführen, und klicken Sie dann auf Weiter:
Wenn noch keine Datenbankverbindung konfiguriert wurde, klicken Sie auf Neue Verbindung, um eine neue Verbindung zu erstellen. Weitere Informationen finden Sie unter Gewusst wie: Erstellen von Verbindungen mit SQL Server-Datenbanken. Dieser SQL Server-Instanz muss die Northwind-Beispieldatenbank angefügt worden sein.
- oder -
Wenn bereits eine Datenbankverbindung für die Northwind-Datenbank konfiguriert wurde, wählen Sie diese Verbindung in der Liste der Verbindungen aus.
Aktivieren Sie auf der letzten Seite des Assistenten die Kontrollkästchen für alle Tabellen in der Datenbank, und deaktivieren Sie die Kontrollkästchen für Sichten und gespeicherte Prozeduren.
Klicken Sie auf Fertig stellen, um den Assistenten zu schließen.
Hinweis
Das erstellte Datenmodell macht Fremdschlüsseleigenschaften von Entitätstypen verfügbar.Mit Visual Studio 2008 erstellte Datenmodelle enthalten diese Fremdschlüsseleigenschaften nicht.Aus diesem Grund müssen Sie die Clientdatendienstklassen jeglicher Clientanwendungen aktualisieren, die für den Zugriff auf den mit Visual Studio 2008 erstellten Northwind-Datendienst erstellt wurden, bevor Sie auf diese Version des Northwind-Datendiensts zugreifen.
So erstellen Sie den Datendienst
Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf den Namen des ASP.NET-Projekts, und klicken Sie dann auf Neues Element hinzufügen.
Wählen Sie im Dialogfeld Neues Element hinzufügen die Option WCF Data Service aus.
Geben Sie als Name des Diensts Northwind ein.
Visual StudioVisual Studio erstellt das XML-Markup und die Codedateien für den neuen Dienst. In der Standardeinstellung wird das Fenster des Code-Editors geöffnet. Im Projektmappen-Explorer wird der Dienst mit dem Namen "Northwind" und der Erweiterung ".svc.cs" oder ".svc.vb" angezeigt.
Ersetzen Sie im Code für den Datendienst den Kommentar /* TODO: put your data source class name here */ in der Definition der Klasse, die den Datendienst definiert, durch den Typ, der der Entitätscontainer des Datenmodells ist, in diesem Fall NorthwindEntities. Die Klassendefinition sollte wie folgt aussehen:
Public Class Northwind Inherits DataService(Of NorthwindEntities)public class Northwind : DataService<NorthwindEntities>
So aktivieren Sie den Zugriff auf Datendienstressourcen
Ersetzen Sie im Code für den Datendienst den Platzhaltercode in der InitializeService-Funktion durch Folgendes:
' Grant only the rights needed to support the client application. config.SetEntitySetAccessRule("Orders", EntitySetRights.AllRead _ Or EntitySetRights.WriteMerge _ Or EntitySetRights.WriteReplace) config.SetEntitySetAccessRule("Order_Details", EntitySetRights.AllRead _ Or EntitySetRights.AllWrite) config.SetEntitySetAccessRule("Customers", EntitySetRights.AllRead)// Grant only the rights needed to support the client application. config.SetEntitySetAccessRule("Orders", EntitySetRights.AllRead | EntitySetRights.WriteMerge | EntitySetRights.WriteReplace); config.SetEntitySetAccessRule("Order_Details", EntitySetRights.AllRead | EntitySetRights.AllWrite); config.SetEntitySetAccessRule("Customers", EntitySetRights.AllRead);So können autorisierte Clients, Lese- und Schreibzugriff auf Ressourcen für die angegebenen Entitätenmengen erhalten.
Hinweis
Jeder Client, der auf die ASP.NET-Anwendung zugreifen kann, kann auch auf die vom Datendienst verfügbar gemachten Ressourcen zugreifen.Sie sollten in einem Produktionsdatendienst auch die Anwendung selbst sichern, um nicht autorisierten Zugriff auf Ressourcen zu verhindern.Weitere Informationen finden Sie unter Sichern von WCF Data Services.
Nächste Schritte
Sie haben erfolgreich eine lokale schreibbare Version eines OData-Diensts auf Grundlage der Northwind-Beispieldatenbank erstellt. Außerdem haben Sie den Zugriff auf den Feed für Clients aktiviert, die Berechtigungen für die ASP.NET-Webanwendung besitzen. Als Nächstes erstellen Sie eine zweite Clientanwendung, die diese Northwind-Daten an Windows-Steuerelemente bindet und Updates an diesen neuen schreibbaren OData-Dienst sendet:
Binden von OData-Feeds an Steuerelemente in einer Clientanwendung