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.
Hinweis |
---|
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:
Unterstützte Editionen von Microsoft Windows und SharePoint.Weitere Informationen finden Sie unter Anforderungen für die Entwicklung von SharePoint-Lösungen.
Visual Studio 2012.
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.
Hinweis |
---|
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
Wählen Sie auf der Menüleiste Sie Datei, Neu, ProjektNeues Projekt, um das Dialogfeld anzuzeigen.
Erweitern Sie den Knoten SharePoint entweder mit Visual C# oder Visual Basic, und wählen Sie dann den Knoten 2010 aus.
Wählen Sie im Vorlagenbereich die SharePoint 2010 Silverlight-Webpart Vorlage aus.
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
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/).
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.
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.
Ä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.
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
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".
In Projektmappen-Explorer öffnen Sie das Kontextmenü für Verweise, und wählen Sie dann Dienstverweis hinzufügen aus.
Hinweis Wenn Sie Visual Basic verwenden, müssen Sie das Alle Dateien anzeigen Symbol oben Projektmappen-Explorer auswählen, um den Knoten Verweise anzuzeigen.
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.
Wählen Sie die Schaltfläche OK, um den Dienstverweis dem Projekt hinzuzufügen, und verwenden Sie den standardmäßigen Dienstnamen, ServiceReference1.
Klicken Sie auf der Menüleiste wählen Sie Erstellen, Projektmappe erstellen aus.
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.
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.
Ändern Sie das Rastersteuerelement Größe, um die Silverlight-Seite angepasst.
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;
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>();
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.
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
Öffnen Sie das Kontextmenü für das Silverlight-Webpartprojekt (SLWebPartTest), und wählen Sie dann Eigenschaften aus.
Im Fenster EigenschaftenSharePoint wählen Sie die Registerkarte aus.
Wenn er nicht bereits ausgewählt ist, wählen Sie das Kontrollkästchen Silverlight-Debugging aktivieren (anstelle von Skript-Debugging).
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
Wählen Sie die F5-TASTE, um die SharePoint-Lösung zu erstellen und auszuführen.
In SharePoint auf dem Menü Websiteaktionen, wählen Sie Neue Seite aus.
Im Dialogfeld Neue Seite geben Sie einen Namen, z SL-Webpart-Test ein, und wählen Sie dann die Schaltfläche Erstellen aus.
Im Seitendesigner auf der Registerkarte Bearbeitungstools, wählen Sie Einfügen aus.
Klicken Sie auf der Registerleiste wählen Sie Webpart aus.
Im Feld Kategorien wählen Sie den Ordner Benutzerdefiniert aus.
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.
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.
Hinweis 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