Freigeben über


Exemplarische Vorgehensweise: Erstellen eines Silverlight-Webparts, das OData für SharePoint anzeigt

SharePoint 2010 macht seine Listendaten mittels OData verfügbar.In SharePoint wird der OData-Dienst vom beruhigenden Dienst ListData.svc implementiert.In dieser exemplarischen Vorgehensweise wird erläutert, wie ein SharePoint-Webpart erstellt, das eine Silverlight-Anwendung hostet.Die Silverlight-Anwendungsanzeigen SharePoint-Ankündigungslisteninformationen mithilfe von ListData.svc.Weitere Informationen finden Sie unter SharePoint Foundations-REST Schnittstelle und Open Data Protocol.

Diese exemplarische Vorgehensweise enthält die folgenden Aufgaben:

  • Erstellen einer Silverlight-Anwendung und des Silverlight-Webparts.

  • Anpassen der Silverlight-Anwendung.

  • Anpassen der Silverlight-Anwendung.

  • Anpassen der Silverlight-Anwendung.

  • Testen des Silverlight-Webparts.

HinweisHinweis

Ihr Computer zeigt möglicherweise für einige der Elemente der Visual Studio-Benutzeroberfläche in der folgenden Anleitung andere Namen oder Standorte an. Diese Elemente sind von der jeweiligen Visual Studio-Version und den verwendeten Einstellungen abhängig. Weitere Informationen finden Sie unter Visual Studio-Einstellungen.

Vorbereitungsmaßnahmen

Zum Durchführen dieser exemplarischen Vorgehensweise benötigen Sie die folgenden Komponenten:

Erstellen einer Silverlight-Anwendung und des Silverlight-Webparts

Zunächst erstellen Sie eine Silverlight-Anwendung in Visual Studio.Die Silverlight-Anwendung ruft Daten aus der SharePoint-Liste "Ankündigungen" ab, indem sie den ListData.svc-Dienst verwendet.

HinweisHinweis

Keine Versionen von Silverlight 4,0, bevor die erforderlichen Schnittstellen zum Verweisen auf SharePoint-Listendaten unterstützen.

So fügen Sie ein Silverlight-Anwendungs- und Silverlight-Webpart erstellen

  1. Wählen Sie auf der Menüleiste Sie Datei, Neu, ProjektNeues Projekt, um das Dialogfeld anzuzeigen.

  2. Erweitern Sie den Knoten SharePoint entweder mit Visual C# oder Visual Basic, und wählen Sie dann den Knoten 2010 aus.

  3. Wählen Sie im Vorlagenbereich die SharePoint 2010 Silverlight-Webpart Vorlage aus.

  4. Im Feld geben Sie Name SLWebPartTest ein und klicken Sie dann auf die Schaltfläche OK aus.

    Das Dialogfeld wird angezeigt. Assistent zum Anpassen von SharePoint

  5. Geben Sie auf der Seite Site und Sicherheitsebene für Debugging angeben die URL für die SharePoint-Webserversite ein, an der Sie die Websitedefinition debuggen möchten, oder verwenden Sie den Standardspeicherort (http://Systemname/).

  6. Im Wie lautet die Vertrauensebene für diese SharePoint-Lösung?-Abschnitt aktivieren Sie das Optionsfeld Als Farmlösung bereitstellen.

    Obwohl in diesem Beispiel eine Farmlösung verwendet, können Silverlight-Webpartprojekte bereitgestellt werden während entweder Farm oder Sandkastenlösungen.Weitere Informationen über Sandkastenlösungen und Farmlösungen, finden Sie unter Überlegungen zu Sandkastenlösungen.

  7. Wie soll das Silverlight-Webpart zugeordnet werden im Abschnitt der Seite Silverlight-Konfigurationsinformationen festlegen, aktivieren Sie das Optionsfeld Neues Silverlight-Projekt erstellen und dem Webpart zuordnen.

  8. Ändern Sie Name zu SLApplication, legen Sie Sprache entweder zu Visual Basic oder zu Visual C# fest, und legen Sie dann Silverlight-Version zu Silverlight 4.0 fest.

  9. Wählen Sie die Schaltfläche Fertig stellen aus.Die Projekte werden in Projektmappen-Explorer.

    Die Projektmappe enthält zwei Projekte: eine Silverlight-Anwendung und ein Silverlight-Webpart.Die Silverlight-Anwendung ruft ab und zeigt die Listendaten von SharePoint angezeigt, und das Silverlight-Webpart hostet die Silverlight-Anwendung und ermöglicht Ihnen, um sie in SharePoint anzuzeigen.

Anpassen der Silverlight-Anwendung

Fügen Sie Code und Gestaltungselemente der Silverlight-Anwendung hinzu.

Um die Silverlight-Anwendung anpassen

  1. Fügen Sie einen Verweis auf System.Windows.Data in der Silverlight-Anwendung hinzu.Weitere Informationen finden Sie unter Gewusst wie: Hinzufügen oder Entfernen von Verweisen mithilfe des Dialogfelds "Verweise hinzufügen".

  2. In Projektmappen-Explorer öffnen Sie das Kontextmenü für Verweise, und wählen Sie dann Dienstverweis hinzufügen aus.

    HinweisHinweis

    Wenn Sie Visual Basic verwenden, müssen Sie das Alle Dateien anzeigen Symbol oben Projektmappen-Explorer auswählen, um den Knoten Verweise anzuzeigen.

  3. im Adressfeld des Dialogfelds Dienstverweis hinzufügen, geben Sie die URL der SharePoint-Website, z http://MySPSite ein, und wählen Sie dann die Schaltfläche Gehe zu aus.

    Wenn Silverlight den Dienst ListData.svc SharePoints OData isoliert, ersetzt jedoch die Adresse durch den vollständigen Dienst-URL.In diesem Beispiel ist http://myserver http://myserver/_vti_bin/ListData.svc.

  4. Wählen Sie die Schaltfläche OK, um den Dienstverweis dem Projekt hinzuzufügen, und verwenden Sie den standardmäßigen Dienstnamen, ServiceReference1.

  5. Klicken Sie auf der Menüleiste wählen Sie Erstellen, Projektmappe erstellen aus.

  6. Fügen Sie dem Projekt eine neue Datenquelle auf dem SharePoint-Dienst hinzu.Hierzu, auf der Menüleiste auf, wählen Sie Ansicht, Weitere Fenster, Datenquellen.

    Das Fenster Datenquellen zeigt alle verfügbaren SharePoint-Listendaten, wie Aufgaben, Anzeigen und Kalender.

  7. Fügen Sie die Ankündigungslistendaten der Silverlight-Anwendung hinzu.Sie können "Ankündigungen" Datenquellen aus dem in den Silverlight-Designer ziehen.

    Dadurch wird eine Raster-Steuerelement-Grenze der Liste "Ankündigungen" der SharePoint-Website.

  8. Ändern Sie das Rastersteuerelement Größe, um die Silverlight-Seite angepasst.

  9. In der MainPage.xaml-Codedatei (MainPage.xaml.cs für Visual C# oder in MainPage.xaml.vb für Visual Basic), fügen Sie die folgenden Namespaceverweise hinzu.

    ' Add the following three Imports statements.
    Imports SLApplication.ServiceReference1
    Imports System.Windows.Data
    Imports System.Data.Services.Client
    
    // Add the following three using statements.
    using SLApplication.ServiceReference1;
    using System.Windows.Data;
    using System.Data.Services.Client;
    
  10. Fügen Sie die folgenden Variablendeklarationen am oberen Rand der Klasse hinzu.

    Private context As TeamSiteDataContext
    Private myCollectionViewSource As CollectionViewSource
    Private announcements As New DataServiceCollection(Of AnnouncementsItem)()
    
    private TeamSiteDataContext context;
    private CollectionViewSource myCollectionViewSource;
    DataServiceCollection<AnnouncementsItem> announcements = new DataServiceCollection<AnnouncementsItem>();
    
  11. Ersetzen Sie die UserControl_Loaded Prozedur durch den folgenden Code.

    Private Sub UserControl_Loaded_1(sender As Object, e As RoutedEventArgs)
        ' The URL for the OData service.
        ' Replace <server name> in the next line with the name of your SharePoint server.
        context = New TeamSiteDataContext(New Uri("http://<server name>/_vti_bin/ListData.svc"))
    
        ' Do not load your data at design time.
        If Not System.ComponentModel.DesignerProperties.GetIsInDesignMode(Me) Then
            'Load your data here and assign the results to the CollectionViewSource.
            myCollectionViewSource =   DirectCast(Me.Resources("announcementsViewSource"), System.Windows.Data.CollectionViewSource)
            announcements.LoadCompleted += New EventHandler(Of LoadCompletedEventArgs)(AddressOf announcements_LoadCompleted)
            announcements.LoadAsync(context.Announcements)
        End If
    End Sub
    
    private void UserControl_Loaded_1(object sender, RoutedEventArgs e)
    {
        // The URL for the OData service.
        // Replace <server name> in the next line with the name of your 
        // SharePoint server.
        context = new TeamSiteDataContext(new Uri("https://ServerName>/_vti_bin/ListData.svc"));
    
        // Do not load your data at design time.
        if (!System.ComponentModel.DesignerProperties.GetIsInDesignMode(this))
        {
            //Load your data here and assign the results to the CollectionViewSource.
            myCollectionViewSource = (System.Windows.Data.CollectionViewSource)this.Resources["announcementsViewSource"];
            announcements.LoadCompleted += new EventHandler<LoadCompletedEventArgs>(announcements_LoadCompleted);
            announcements.LoadAsync(context.Announcements);
        }
    }
    

    Stellen Sie sicher, dass der Servername Platzhalter durch den Namen Ihres Servers zu ersetzen, der SharePoint ausgeführt wird.

  12. Fügen Sie die folgende Prozedur Fehlerbehandlungscode hinzu.

    Private Sub announcements_LoadCompleted(sender As Object, e As LoadCompletedEventArgs)
        ' Handle any errors.
        If e.[Error] Is Nothing Then
            myCollectionViewSource.Source = announcements
        Else
            MessageBox.Show(String.Format("ERROR: {0}", e.[Error].Message))
        End If
    End Sub
    
    void announcements_LoadCompleted(object sender, LoadCompletedEventArgs e)
    {
        // Handle any errors.
        if (e.Error == null)
        {
            myCollectionViewSource.Source = announcements;
        }
        else
        {
            MessageBox.Show(string.Format("ERROR: {0}", e.Error.Message));
        }
    }
    

Ändern des Silverlight-Webparts

Ändern Sie eine Eigenschaft im Silverlight-Webpartprojekt, Silverlight-Debugging zu aktivieren.

Um das Silverlight-Webpart ändern

  1. Öffnen Sie das Kontextmenü für das Silverlight-Webpartprojekt (SLWebPartTest), und wählen Sie dann Eigenschaften aus.

  2. Im Fenster EigenschaftenSharePoint wählen Sie die Registerkarte aus.

  3. Wenn er nicht bereits ausgewählt ist, wählen Sie das Kontrollkästchen Silverlight-Debugging aktivieren (anstelle von Skript-Debugging).

  4. Speichern Sie das Projekt.

Testen des Silverlight-Webparts

Testen Sie das neue Silverlight-Webpart in SharePoint, um sicherzustellen, dass es die SharePoint-Listendaten korrekt anzeigt.

Um das Silverlight-Webpart testen

  1. Wählen Sie die F5-TASTE, um die SharePoint-Lösung zu erstellen und auszuführen.

  2. In SharePoint auf dem Menü Websiteaktionen, wählen Sie Neue Seite aus.

  3. Im Dialogfeld Neue Seite geben Sie einen Namen, z SL-Webpart-Test ein, und wählen Sie dann die Schaltfläche Erstellen aus.

  4. Im Seitendesigner auf der Registerkarte Bearbeitungstools, wählen Sie Einfügen aus.

  5. Klicken Sie auf der Registerleiste wählen Sie Webpart aus.

  6. Im Feld Kategorien wählen Sie den Ordner Benutzerdefiniert aus.

  7. In der Liste Webparts wählen Sie das Silverlight-Webpart aus, und wählen Sie dann die Schaltfläche Hinzufügen, um das Webpart zum Designer hinzuzufügen.

  8. Nachdem Sie alle Erweiterungen der Webseite ausgeführt haben, die Sie benötigen, wählen Sie die Registerkarte Seite aus, und wählen Sie dann die Schaltfläche Speichern und schließen auf der Symbolleiste.

    Das Silverlight-Webpart Werbungsdaten sollte von der SharePoint-Website jetzt anzeigen.Standardmäßig wird die Seite in der Websiteseiteliste in SharePoint gespeichert.

    HinweisHinweis

    Wenn es auf Daten in Silverlight über Domänen zugreift, schützt Silverlight für Sicherheitslücken, die verwendet werden können, um Webanwendungen zu nutzen.Wenn Sie Probleme auf, wenn auf Remotedaten in Silverlight zugegriffen werden, sehen Erstellen eines Dienst bereitstellen zu Domänen-Grenzen können.

Siehe auch

Konzepte

Bereitstellen, Veröffentlichen und Aktualisieren von SharePoint-Lösungspaketen

Weitere Ressourcen

Erstellen von Webparts für SharePoint