Wie kann mit Visual Studio eine Silverlight Anwendung erstellt werden?

Veröffentlicht: 06. Nov 2009

Das Problem

Es wird gezeigt, wie mit Visual Studio 2008 eine Silverlight Anwendung erstellt werden kann, die auf eine SQL Server Datenbank zugreift.

Die Lösung

Es wird das Projekt aus dem Video „.NET Pizza - Dynamische Webanwendung“ weiterentwickelt.

Das Projekt WebAppliation1 wird in Visual Studio geöffnet. In den Eigenschaften des Projekts wird die Seite Silverlight-Anwendungen gewählt. Über die Schaltfläche „Hinzufügen“ wird ein neues Silverlight-Projekt mit dem Namen SilverlightClient hinzugefügt. Es automatisch die Seite Page.xaml geöffnet, die aber geschlossen werden kann.

In den Eigenschaften des Projekts wird die Seite Web gewählt. Es wird „Bestimmte Seite“ gewählt und SilverlightProject1TestPage.aspx ausgewählt.

Dem Projekt WebAppliation1 wird ein neues Element vom Typ ADO.NET Data Service mit dem Namen VFPizza hinzugefügt. Die Datei VFPizza.svc.cs wird entsprechend dem Code von unten bearbeitet.

Die Projektmappe wird neu erstellt.

Im Projekt SilverlightClient wird Dienstverweis hinzufügen gewählt. Durch einen Klick auf „Ermitteln“ wird VFPizza.svc angezeigt. Als Namespace wird „VFPizzaService“ eingetragen. Die Adresse wird in die Zwischenablage kopiert.

Die Projektmappe wird neu erstellt.

Die Datei App.xaml.cs wird nach der Zeile InitializeComponents() der unten angegebene Code eingefügt.

In die Datei SilverlightProject1TestPage.aspx wird eingetragen:

<img src="images/pizzaheader.png" />

Dem Silverlight Projekt werden Verweise hinzugefügt für:

  • System.Data.Services.Client
  • System.Runtime.Serialization
  • System.ServiceModel
  • System.Windows.Controls.Data

Mit dem Windows Explorer werden die vorbereiteten Formulare in das Projekt kopiert.

Dem Projekt SilverlightClient wird das Formular OrderView.xaml hinzugefügt.

Jetzt wird die Projektmappe bereinigt und dann das Projekt SilverlightClient erstellt. Die Seite Page.xaml wird zur Bearbeitung geöffnet. Anschließend wird die Projektmappe neu erstellt.

Der Code

Vfpizza.svc.cs:

namespace WebApplication1
{
public class VFPizza : DataService<VFPizza2005Entities>
{
    // Diese Methode wird nur einmal aufgerufen, um dienstweite Richtlinien zu initialisieren.
    public static void InitializeService(IDataServiceConfiguration config)
    {
        // TODO: Regeln festlegen, die angeben, welche Entitätssets
        // und welche Dienstvorgänge sichtbar, aktualisierbar usw. sind
        // Beispiele:
        config.SetEntitySetAccessRule("*", EntitySetRights.AllRead);
        config.SetServiceOperationAccessRule("*", ServiceOperationRights.All);
    }
}
}

App.xaml.cs:

private static VFPizzaService.VFPizza2005Entities
_entities = new VFPizzaService.VFPizza2005Entities(new Uri("http://localhost:49315/VFPizza.svc"));

public static VFPizzaService.VFPizza2005Entities
Entities
 {
get
     {
    return _entities;
    }
 }

Voraussetzungen

Windows Vista
Visual Studio 2008 Standard Edition SP 1
Silverlight ToolsSQL Server 2008 Express Edition
SQL Beispieldatenbank VFPizza