Partager via


Procédure pas-à-pas : Créer 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 OData est implémenté par le service RESTful ListData.svc. Cette procédure pas à pas montre comment créer un composant WebPart SharePoint qui héberge une application Silverlight. L’application Silverlight affiche des informations de la liste Annonces SharePoint avec ListData.svc. Pour plus d’informations, consultez Interface REST SharePoint Foundation et Open Data Protocol.

Notes

Il est possible que pour certains des éléments de l'interface utilisateur de Visual Studio, votre ordinateur affiche des noms ou des emplacements différents de ceux indiqués 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 Personnaliser l’IDE.

Prérequis

Vous devez disposer des éléments suivants pour exécuter cette procédure pas à pas :

  • Éditions prises en charge de Microsoft Windows et SharePoint.

  • Visual Studio 2012.

Créer une application Silverlight et un composant WebPart Silverlight

Tout d’abord, créez une application Silverlight dans Visual Studio. L’application Silverlight récupère les données de la liste Annonces SharePoint avec le service ListData.svc.

Notes

Aucune version de Silverlight antérieure à 4.0 ne prend en charge les interfaces nécessaires pour référencer les données de liste SharePoint.

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

  1. Dans la barre de menus, choisissez 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 choisissez le nœud 2010.

  3. Dans le volet des modèles, choisissez le modèle Composant WebPart Silverlight SharePoint 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 système/).

  6. Dans la section Quel est le niveau d’approbation de cette solution SharePoint ?, choisissez le bouton d’option Déployer comme une solution de batterie de serveurs.

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

  7. Dans la section Comment associer le composant WebPart Silverlight de la page Spécifier les informations de configuration Silverlight, choisissez le bouton d’option Créer un projet Silverlight et l’associer au composant WebPart.

  8. Remplacez le Nom par SLApplication, définissez Langage sur Visual Basic ou Visual C#, puis définissez Version Silverlightsur Silverlight 4.0.

  9. Cliquez sur le bouton Terminer. Les projets s’affichent dans l’Explorateur de solutions.

    La solution contient deux projets : une application Silverlight et un composant WebPart Silverlight. L’application Silverlight récupère et affiche les données de liste à partir de SharePoint, et le composant WebPart Silverlight héberge l’application Silverlight, ce qui vous permet de la voir dans SharePoint.

Personnaliser l’application Silverlight

Ajoutez du code et des éléments 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 Guide pratique pour ajouter ou supprimer des références en utilisant la boîte de dialogue Ajouter une référence.

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

    Notes

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

  3. Dans la zone Adresse de la boîte de dialogue Ajouter une référence de service, entrez l’URL de votre site SharePoint, par exemple http://MySPSite, puis choisissez le bouton Accéder.

    Quand Silverlight localise le service OData SharePoint ListData.svc, il remplace l’adresse par l’URL complète du service. Dans cet exemple, http://myserver devient 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 de service par défaut, ServiceReference1.

  5. Dans la barre de menus, choisissez Générer>Générer la solution.

  6. Ajoutez une nouvelle source de données au projet basée sur le service SharePoint. Pour ce faire, dans la barre de menus, choisissez Affichage>Autres fenêtres>Sources de données.

    La fenêtre Sources de données affiche toutes les données de liste SharePoint disponibles, comme Tâches, Annonces et Calendrier.

  7. Ajoutez les données de la liste Annonces à l’application Silverlight. Vous pouvez faire glisser « Annonces » à partir de la fenêtre Sources de données vers le concepteur Silverlight.

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

  8. Redimensionnez le contrôle de grille pour qu’il s’adapte à la page Silverlight.

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

    // Add the following three using directives.
    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 TeamSiteDataContext context;
    private CollectionViewSource myCollectionViewSource;
    DataServiceCollection<AnnouncementsItem> announcements = new DataServiceCollection<AnnouncementsItem>();
    
  11. Remplacez la procédure UserControl_Loaded par ce qui suit.

    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("http://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é ServerName par le nom de votre serveur qui exécute SharePoint.

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

    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

Changez une propriété dans le projet de composant WebPart Silverlight pour activer le débogage Silverlight.

Pour modifier le composant WebPart Silverlight

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

  2. Dans la fenêtre Propriétés, choisissez l’onglet SharePoint.

  3. Si elle n’est pas déjà cochée, cochez la case Activer le débogage Silverlight (au lieu du débogage de script).

  4. Enregistrez le projet.

Tester le composant WebPart Silverlight

Testez le nouveau composant WebPart Silverlight dans SharePoint pour vérifier qu’il affiche correctement les données de liste SharePoint.

Pour tester le composant WebPart Silverlight

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

  2. Dans SharePoint, dans le menu Actions de site, choisissez Nouvelle page.

  3. Dans la boîte de dialogue Nouvelle page, entrez un titre, comme SL Web Part Test, puis choisissez le bouton Créer.

  4. Dans le concepteur de pages, sous l’onglet Outils d’édition, choisissez Insérer.

  5. Dans la bande de l’onglet, choisissez Composant WebPart.

  6. Dans la zone Catégories, choisissez le dossier Personnalisé.

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

  8. Une fois que vous avez effectué tous les ajouts à la page web de votre choix, choisissez l’onglet Page, puis le bouton Enregistrer et fermer dans la barre d’outils.

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

    Notes

    Quand vous accédez aux données dans Silverlight dans plusieurs domaines, Silverlight applique une protection contre les vulnérabilités de sécurité qui peuvent être utilisées pour exploiter les applications web. Si vous rencontrez des problèmes pour accéder aux données distantes dans Silverlight, consultez Mise à disposition d’un service au-delà des limites de domaine.