Partager via


Procédure pas à pas : création d'un composant WebPart Silverlight qui affiche OData pour SharePoint

SharePoint 2010 expose ses données de liste au moyen d'OData.Dans SharePoint, le service d'OData est implémentée par le service plaçant ListData.svc.Cette procédure pas - à - pas montre comment créer un composant WebPart SharePoint qui héberge une application Silverlight.Les informations de liste d'annonce SharePoint règle sous d'application Silverlight à l'aide de ListData.svc.Pour plus d'informations, consultez Interface REST de base SharePoint et Ouvrez le fournisseur de données.

Cette procédure pas à pas présente les tâches suivantes :

  • Créer une application Silverlight et un composant WebPart Silverlight.

  • Personnaliser l'application Silverlight.

  • Personnaliser l'application Silverlight.

  • Personnaliser l'application Silverlight.

  • Test du composant WebPart Silverlight.

[!REMARQUE]

Il est possible que votre ordinateur affiche des noms ou des emplacements différents pour certains des éléments d'interface utilisateur de Visual Studio dans les instructions suivantes. L'édition de Visual Studio dont vous disposez et les paramètres que vous utilisez déterminent ces éléments. Pour plus d'informations, consultez Paramètres Visual Studio.

Composants requis

Pour exécuter cette procédure pas à pas, vous devez disposer des composants suivants :

Créer une application Silverlight et un composant WebPart Silverlight

En premier lieu, créez une application Silverlight dans Visual Studio.L'application Silverlight récupère des données de la liste SharePoint à l'aide de le service de ListData.svc.

[!REMARQUE]

Les versions Silverlight avant que 4,0 prennent en charge les interfaces requises pour référencer des données de liste SharePoint.

Pour créer une application Silverlight et Silverlight un composant WebPart

  1. Dans la barre de menus, sélectionnez Fichier, Nouveau, Projet pour afficher la boîte de dialogue Nouveau projet .

  2. Développez le nœud SharePoint sous Visual C# ou Visual Basic, puis sélectionnez le nœud 2010 .

  3. Dans le volet modèles, sélectionnez le modèle Composant WebPart SharePoint Silverlight 2010 .

  4. Dans la zone Nom , entrez SLWebPartTest puis choisissez le bouton OK .

    La boîte de dialogue Assistant personnalisation de SharePoint s'affiche.

  5. Dans la page Spécifier le site et le niveau de sécurité pour le débogage, entrez l'URL du site du serveur SharePoint où vous souhaitez déboguer la définition de site, ou utilisez l'emplacement par défaut (http://nom du système/).

  6. Dans la section Quel est le niveau de confiance de la solution SharePoint ? , sélectionnez la case d'option Déployer une solution de batterie .

    Bien que cet exemple utilise une solution de batterie, les projets Silverlight WebPart peuvent être déployés comme ferme ou solutions bac à sable (sandbox).Pour plus d'informations sur les solutions et les solutions de batterie bac à sable (sandbox), consultez Considérations sur les solutions bac à sable (sandbox).

  7. Dans la section La façon dont vous souhaitez associer le composant WebPart Silverlight de la page Spécifiez les informations de configuration Silverlight , sélectionnez la case d'option Créez un projet Silverlight et l'associer à WebPart .

  8. Modifiez Nom par SLApplication, affectez Langue à Visual Basic ou à Visual C#, puis affectez version de Silverlight à Silverlight 4,0.

  9. Choisissez le bouton Terminer .Les projets apparaissent dans Explorateur de solutions.

    La solution contient deux projets : une application Silverlight et Silverlight un composant WebPart.L'application Silverlight extrait et affiche les données de liste de SharePoint, et le Silverlight WebPart héberge l'application Silverlight, ce qui vous permet de l'afficher dans SharePoint.

Personnaliser l'application Silverlight

Ajoutez des éléments de code et de conception à l'application Silverlight.

Pour personnaliser l'application Silverlight

  1. Ajoutez une référence d'assembly à System.Windows.Data dans l'application Silverlight.Pour plus d’informations, consultez Comment : ajouter ou supprimer des références à l'aide de la boîte de dialogue Ajouter une référence.

  2. Dans Explorateur de solutions, ouvrez le menu contextuel pour Références, puis choisissez Ajouter une référence de service.

    [!REMARQUE]

    Si vous utilisez Visual Basic, vous devez choisir l'icône Afficher tous les fichiers en haut Explorateur de solutions pour afficher le nœud Références .

  3. Dans la zone d'adresse de la boîte de dialogue Ajouter une référence de service , entrez l'URL de votre site SharePoint, tels que http://MySPSite, puis choisissez le bouton OK .

    Lorsque Silverlight trouve le service de ListData.svc OData SharePoint, il remplace l'adresse par l'URL de service complet.Pour cet exemple, http://myserver est http://myserver/_vti_bin/ListData.svc.

  4. Choisissez le bouton OK pour ajouter la référence de service au projet, et utilisez le nom du service par défaut, ServiceReference1.

  5. Dans la barre de menus, sélectionnez Générer, Générer la solution.

  6. Ajoutez une nouvelle source de données au projet en fonction de le service de SharePoint.Pour ce faire, dans la barre de menus, sélectionnez Affichage, Autres fenêtres, sources de données.

    La fenêtre sources de données affiche toutes les données disponibles de liste SharePoint, telles que les tâches, les publications, et le calendrier.

  7. Ajoutez les données de liste Annonces à l'application Silverlight.Vous pouvez faire glisser des « annonces » de la fenêtre sources de données vers le concepteur Silverlight.

    Cela crée un contrôle de grille liée à la liste Annonces du site SharePoint.

  8. Redimensionnez le contrôle de grille à la page Silverlight.

  9. MainPage.xaml dans le fichier de code (MainPage.xaml.cs pour C# ou MainPage.xaml.vb visuel pour Visual Basic), ajoutez des références d'espace de noms suivantes.

    ' 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. Ajoutez les déclarations de variables suivantes en haut de la classe.

    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. Remplacez la procédure d' UserControl_Loaded par la suivante.

    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);
        }
    }
    

    Veillez à remplacer l'espace réservé de Nomserveur par le nom de votre serveur SharePoint qui est en cours de exécution.

  12. Ajoutez la procédure de gestion des erreurs suivante.

    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));
        }
    }
    

Modifier le composant WebPart Silverlight

Modifiez une propriété dans le projet Silverlight WebPart d'activer le débogage Silverlight.

Pour modifier le composant WebPart Silverlight

  1. Ouvrez le menu contextuel du projet Silverlight WebPart (SLWebPartTest), puis choisissez Propriétés.

  2. Dans la fenêtre Propriétés , choisissez SharePoint tableau.

  3. Si ce n'est déjà fait, activez la case à cocher Activer le débogage Silverlight (au lieu du débogage de script) .

  4. Enregistrez le projet.

Test du composant WebPart Silverlight

Testez le nouveau Silverlight WebPart dans SharePoint pour vous assurer qu'il affiche les données de liste SharePoint correctement.

Pour tester le composant WebPart Silverlight

  1. Choisissez la touche F5 pour générer et exécuter la solution SharePoint.

  2. Dans SharePoint, dans le menu Recherchez les actions , choisissez Page.

  3. Dans la boîte de dialogue Page , entrez un titre, tel que le test du composant WebPart de SL, puis choisissez le bouton Créer .

  4. Dans le concepteur de pages, sous l'onglet Outils de modification , choisissez Insérer.

  5. Sur la bande de l'onglet, sélectionnez Composant WebPart.

  6. Dans la zone catégories , sélectionnez le dossier Personnalisé .

  7. Dans la liste WebParts , choisissez le Silverlight composant WebPart, puis choisissez le bouton Ajouter pour ajouter WebPart au concepteur.

  8. Après avoir effectué les ajouts à la page Web que vous souhaitez, sélectionnez l'onglet page , puis choisissez le bouton Enregistrer et fermer dans la barre d'outils.

    Le Silverlight WebPart doit maintenant afficher des données de publicité du site SharePoint.Par défaut, la page est stocké dans les pages de site la liste dans SharePoint.

    [!REMARQUE]

    Lors de l'accès aux données dans Silverlight sur des domaines, Silverlight garde sur les failles de sécurité qui peuvent être utilisées pour exploiter des applications Web.Si vous rencontrez des problèmes lors de l'accès aux données distantes dans Silverlight, consultez Rendre un service disponible au delà de les limites de domaine.

Voir aussi

Concepts

Déploiement, publication et mise à niveau de packages de solutions SharePoint

Autres ressources

Création de composants WebPart pour SharePoint