Condividi tramite


Procedura dettagliata: creazione di una Web part Silverlight che visualizza il servizio OData per SharePoint

SharePoint 2010 espone i dati dell'elenco mediante OData.In SharePoint, il servizio di OData viene implementato dal servizio riposante ListData.svc.In questa procedura dettagliata viene illustrato come creare una parte Web di SharePoint che ospita un'applicazione Silverlight.Le informazioni sull'elenco degli annunci di SharePoint di visualizzazione dell'applicazione Silverlight tramite ListData.svc.Per ulteriori informazioni, vedere Interfaccia REST di SharePoint Foundation e Aprire il protocollo di dati.

In questa procedura dettagliata vengono illustrate le attività seguenti:

  • Creare un'applicazione Silverlight e una Web part di Silverlight.

  • Personalizzazione dell'applicazione Silverlight.

  • Personalizzazione dell'applicazione Silverlight.

  • Personalizzazione dell'applicazione Silverlight.

  • Test della Web part Silverlight.

[!NOTA]

Nel computer in uso è possibile che vengano visualizzati nomi o percorsi diversi per alcuni elementi dell'interfaccia utente di Visual Studio nelle istruzioni seguenti. La versione di Visual Studio in uso e le impostazioni configurate determinano questi elementi. Per ulteriori informazioni vedere Impostazioni di Visual Studio.

Prerequisiti

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

Creare un'applicazione Silverlight e una Web part di Silverlight

Innanzitutto, creare un'applicazione Silverlight in Visual Studio.L'applicazione Silverlight recupera i dati dall'elenco di SharePoint tramite il servizio di ListData.svc.

[!NOTA]

Nessun versioni di Silverlight 4,0 prima che supporti le interfacce obbligatorie per i dati di riferimento di elenco di SharePoint.

Per creare un web Silverlight e di applicazione Silverlight parte

  1. Sulla barra dei menu, scegliere Il file, Nuova, Project per visualizzare la finestra di dialogo Nuovo progetto.

  2. Espandere il nodo SharePoint in Visual C# o Visual Basicquindi selezionare il nodo 2010.

  3. Nel riquadro Modelli, scegliere il modello Web part Silverlight di SharePoint 2010.

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

    La finestra di dialogo Personalizzazione guidata SharePoint visualizzato.

  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 desidera eseguire il debug della definizione di sito o utilizzare il percorso predefinito (http://nome del sistema/).

  6. Nella sezione Selezionare il livello di attendibilità per la soluzione SharePoint., scegliere il pulsante di opzione Distribuisci come soluzione farm.

    Anche se in questo esempio viene utilizzata una soluzione farm, i progetti Web della parte di Silverlight possono essere distribuiti come farm o soluzioni create mediante sandbox.Per ulteriori informazioni sulle soluzioni create mediante sandbox e le soluzioni farm, vedere Considerazioni sulle soluzioni create mediante sandbox.

  7. Nella sezione Specifica la modalità di associazione della web part Silverlight della pagina Specifica informazioni di configurazione Silverlight, scegliere il pulsante di opzione Crea nuovo progetto Silverlight e associalo alla web part.

  8. Modificare Nome a SLApplication, impostare Linguaggio a Visual Basic o a **Visual C#**quindi impostare Versione Silverlight a Silverlight 4.0.

  9. Scegliere il pulsante Fine.I progetti verranno visualizzati in Esplora soluzioni.

    La soluzione contiene due progetti: un'applicazione Silverlight e una parte del web Silverlight.L'applicazione Silverlight recuperare e visualizzare i dati di elenco di SharePoint e la parte Web Silverlight ospita l'applicazione Silverlight, consentendo di visualizzarla in SharePoint.

Personalizzazione dell'applicazione Silverlight

Aggiungere gli elementi di progettazione e dell'applicazione Silverlight.

Per personalizzare l'applicazione Silverlight

  1. Aggiungere un riferimento a un System.Windows.Data nell'applicazione Silverlight.Per ulteriori informazioni, vedere Procedura: aggiungere o rimuovere riferimenti utilizzando la finestra di dialogo Aggiungi riferimento.

  2. In Esplora soluzioni, aprire il menu di scelta rapida per Riferimentiquindi scegliere Aggiungi riferimento al servizio.

    [!NOTA]

    Se si utilizza Visual Basic, è necessario scegliere l'icona Mostra tutti i file inizio Esplora soluzioni per visualizzare il nodo Riferimenti.

  3. Nella casella indirizzo di finestra di dialogo Aggiungi riferimento al servizio, immettere l'url del sito di SharePoint, ad http://MySPSitequindi scegliere il pulsante Vai.

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

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

  5. Sulla barra dei menu, scegliere Compilazione, Compila soluzione.

  6. Aggiungere una nuova origine dati al progetto basato sul servizio di SharePoint.A tale scopo, nella barra dei menu, scegliere Visualizza, Altre finestre, Origini dati.

    La finestra Origini dati mostra tutti i dati disponibili di elenco di SharePoint, ad esempio attività, gli annunci e calendario.

  7. Aggiungere dati elenco di annunci all'applicazione Silverlight.È possibile trascinare gli annunci “„ dalla finestra Origini dati nella finestra di progettazione Silverlight.

    Verrà creato un limite di controllo gridelenco degli annunci del sito di SharePoint.

  8. Ridimensionare il controllo griglia alla pagina Silverlight.

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

    ' 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. Aggiungere le seguenti dichiarazioni delle variabili all'inizio della 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. Sostituire la procedura UserControl_Loaded con il seguente.

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

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

  12. Aggiungere la seguente routine di gestione.

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

Modificare la Web part Silverlight

Modificare la proprietà nel progetto Web della parte di Silverlight abilitare il debug Silverlight.

Per modificare una parte del web Silverlight

  1. Aprire il menu di scelta rapida del 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 (anziché il debug degli script).

  4. Salvare il progetto.

Test della Web part Silverlight

Verificare la nuova parte Web Silverlight in SharePoint per assicurarsi che visualizza i dati di elenco di SharePoint correttamente.

Per testare la parte del web Silverlight

  1. Scegliere il tasto F5 per compilare ed eseguire la soluzione SharePoint.

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

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

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

  5. Nell'elenco schede, scegliere Web part.

  6. Nella casella Categorie, selezionare la cartella Personalizzata.

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

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

    La parte Web Silverlight ora visualizzati i dati degli annunci dal sito di SharePoint.Per impostazione predefinita, la pagina viene archiviata nelle pagine del sito elencato in SharePoint.

    [!NOTA]

    Quando si accede ai dati in Silverlight in più domini, Silverlight protegge dalle vulnerabilità di sicurezza che possono essere utilizzate per sfruttare le applicazioni web.Se si verificano problemi durante l'accesso ai dati remoti in Silverlight, vedere Rendendo disponibili un servizio fra i limiti del dominio.

Vedere anche

Concetti

Distribuzione, pubblicazione e aggiornamento dei pacchetti delle soluzioni SharePoint

Altre risorse

Creazione di web part per SharePoint