Condividi tramite


Procedura dettagliata: Creare una web part Silverlight che visualizza OData per SharePoint

SharePoint 2010 espone i dati dell'elenco tramite OData. In SharePoint il servizio OData viene implementato dal servizio RESTful ListData.svc. Questa procedura dettagliata illustra come creare una web part di SharePoint che ospita un'applicazione Silverlight. L'applicazione Silverlight visualizza le informazioni sull'elenco degli annunci di SharePoint tramite ListData.svc. Per altre informazioni, vedere Interfaccia REST di SharePoint Foundation e Open Data Protocol.

Nota

I nomi o i percorsi visualizzati per alcuni elementi dell'interfaccia utente di Visual Studio nelle istruzioni seguenti potrebbero essere diversi nel computer in uso. La versione di Visual Studio in uso e le impostazioni configurate determinano questi elementi. Per altre informazioni, vedere Personalizzare l'IDE.

Prerequisiti

Per completare questa procedura dettagliata, è necessario disporre dei componenti seguenti:

  • Edizioni supportate di Microsoft Windows e SharePoint.

  • Visual Studio 2012.

Creare un'applicazione Silverlight e una web part Silverlight

Creare prima di tutto un'applicazione Silverlight in Visual Studio. L'applicazione Silverlight recupera i dati dall'elenco Annunci di SharePoint usando il servizio ListData.svc.

Nota

Nessuna versione di Silverlight precedente alla 4.0 supporta le interfacce necessarie per fare riferimento ai dati dell'elenco di SharePoint.

Per creare un'applicazione Silverlight e una web part Silverlight

  1. Nella barra dei menu scegliere File>nuovo>progetto per visualizzare la finestra di dialogo Nuovo progetto.

  2. Espandere il nodo SharePoint in Visual C# o Visual Basic e quindi scegliere il nodo 2010 .

  3. Nel riquadro modelli scegliere il modello di web part Silverlight di SharePoint 2010.

  4. Nella casella Nome immettere SLWebPartTest e quindi scegliere il pulsante OK.

    Viene visualizzata la finestra di dialogo Personalizzazione guidata SharePoint.

  5. Nella pagina Specificare il sito e il livello di sicurezza per il debug immettere l'URL per il sito del server SharePoint in cui si vuole eseguire il debug della definizione del sito oppure usare il percorso predefinito (http:// nome del sistema/).

  6. Nella sezione Qual è il livello di attendibilità per questa soluzione SharePoint? scegliere il pulsante di opzione Distribuisci come soluzione farm.

    Anche se in questo esempio viene usata una soluzione farm, i progetti di web part Silverlight possono essere distribuiti come soluzioni farm o in modalità sandbox. Per altre informazioni sulle soluzioni in modalità sandbox e sulle soluzioni farm, vedere Considerazioni sulle soluzioni in modalità sandbox.

  7. Nella sezione How do you want to associate the Silverlight Web part (Come associare la web part Silverlight) della pagina Specify Silverlight Configuration Information (Specifica informazioni di configurazione silverlight) scegliere il pulsante di opzione Crea un nuovo progetto Silverlight e associarlo al pulsante di opzione della web part.

  8. Modificare Il nome in SLApplication, impostare Languagesu Visual Basic o Visual C#, quindi impostare Silverlight Version su Silverlight 4.0.

  9. Fare clic sul pulsante Finish . I progetti vengono visualizzati in Esplora soluzioni.

    La soluzione contiene due progetti: un'applicazione Silverlight e una web part Silverlight. L'applicazione Silverlight recupera e visualizza i dati dell'elenco da SharePoint e la web part Silverlight ospita l'applicazione Silverlight, consentendo di visualizzarli in SharePoint.

Personalizzare l'applicazione Silverlight

Aggiungere elementi di codice e progettazione all'applicazione Silverlight.

Per personalizzare l'applicazione Silverlight

  1. Aggiungere un riferimento all'assembly a System.Windows.Data nell'applicazione Silverlight. Per altre informazioni, vedere Procedura: Aggiungere o rimuovere riferimenti tramite la finestra di dialogo Aggiungi riferimento.

  2. In Esplora soluzioni aprire il menu di scelta rapida per Riferimenti e quindi scegliere Aggiungi riferimento al servizio.

    Nota

    Se si usa Visual Basic, è necessario scegliere l'icona Mostra tutti i file nella parte superiore di Esplora soluzioni per visualizzare il nodo Riferimenti.

  3. Nella casella Indirizzo della finestra di dialogo Aggiungi riferimento al servizio immettere l'URL del sito di SharePoint, ad esempio http://MySPSite, e quindi scegliere il pulsante Vai .

    Quando Silverlight individua il servizio OData di SharePoint ListData.svc, sostituisce l'indirizzo con l'URL completo del servizio. Per questo esempio diventa http://myserverhttp://myserver/_vti_bin/ListData.svc.

  4. Scegliere il pulsante OK per aggiungere il riferimento al servizio al progetto e usare il nome del servizio predefinito ServiceReference1.

  5. Nella barra dei menu scegliere Compila>Compila soluzione.

  6. Aggiungere una nuova origine dati al progetto in base al servizio SharePoint. A tale scopo, nella barra dei menu scegliere Visualizza>altre origini dati di Windows.>

    Nella finestra Origini dati vengono visualizzati tutti i dati dell'elenco sharePoint disponibili, ad esempio Attività, Annunci e Calendario.

  7. Aggiungere i dati dell'elenco Annunci all'applicazione Silverlight. È possibile trascinare "Annunci" dalla finestra Origini dati nella finestra di progettazione di Silverlight.

    Verrà creato un controllo griglia associato all'elenco Annunci del sito di SharePoint.

  8. Ridimensionare il controllo griglia in modo che si adatti alla pagina Silverlight.

  9. Nel file di codice MainPage.xaml (MainPage.xaml.cs per Visual C# o MainPage.xaml.vb per Visual Basic) aggiungere i riferimenti allo spazio dei nomi seguenti.

    // Add the following three using directives.
    using SLApplication.ServiceReference1;
    using System.Windows.Data;
    using System.Data.Services.Client;
    
  10. Aggiungere le dichiarazioni di variabile seguenti all'inizio della classe .

    private TeamSiteDataContext context;
    private CollectionViewSource myCollectionViewSource;
    DataServiceCollection<AnnouncementsItem> announcements = new DataServiceCollection<AnnouncementsItem>();
    
  11. Sostituire la UserControl_Loaded procedura con quanto segue.

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

    Assicurarsi di sostituire il segnaposto ServerName con il nome del server che esegue SharePoint.

  12. Aggiungere la seguente procedura di gestione degli errori.

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

Modificare la web part Silverlight

Modificare una proprietà nel progetto della web part Silverlight per abilitare il debug di Silverlight.

Per modificare la web part Silverlight

  1. Aprire il menu di scelta rapida per il progetto della web part Silverlight (SLWebPartTest) e quindi scegliere Proprietà.

  2. Nella finestra Proprietà scegliere la scheda SharePoint.

  3. Se non è già selezionata, selezionare la casella di controllo Abilita debug silverlight (invece di Eseguire il debug di script).

  4. Salvare il progetto.

Testare la web part Silverlight

Testare la nuova web part Silverlight in SharePoint per assicurarsi che vengano visualizzati correttamente i dati dell'elenco di SharePoint.

Per testare la web part Silverlight

  1. Scegliere la chiave F5 per compilare ed eseguire la soluzione SharePoint.

  2. In SharePoint scegliere Nuova pagina dal menu Azioni sito.

  3. Nella finestra di dialogo Nuova pagina immettere un titolo, ad esempio SL Web part Test, quindi scegliere il pulsante Crea.

  4. Nella finestra di progettazione della pagina scegliere Inserisci nella scheda Strumenti di modifica.

  5. Nella barra delle schede scegliere Web part.

  6. Nella casella Categorie scegliere la cartella Personalizzata.

  7. Nell'elenco Web part scegliere la web part Silverlight e quindi scegliere il pulsante Aggiungi per aggiungere la web part alla finestra di progettazione.

  8. Dopo aver apportato tutte le aggiunte alla pagina Web desiderata, scegliere la scheda Pagina e quindi scegliere il pulsante Salva e chiudi sulla barra degli strumenti.

    La web part Silverlight dovrebbe ora visualizzare i dati dell'annuncio dal sito di SharePoint. Per impostazione predefinita, la pagina viene archiviata nell'elenco Pagine del sito in SharePoint.

    Nota

    Quando si accede ai dati in Silverlight tra domini, Silverlight protegge dalle vulnerabilità di sicurezza che possono essere usate per sfruttare le applicazioni Web. Se si verificano problemi durante l'accesso ai dati remoti in Silverlight, vedere Rendere disponibile un servizio attraverso i limiti del dominio.