Udostępnij za pośrednictwem


Przewodnik: tworzenie składnika Web Part programu Silverlight, który wyświetla OData dla programu SharePoint

Program SharePoint 2010 uwidacznia dane listy za pomocą usługi OData. W programie SharePoint usługa OData jest implementowana przez usługę RESTful ListData.svc. W tym przewodniku pokazano, jak utworzyć składnik Web Part programu SharePoint hostujący aplikację Silverlight. Aplikacja Silverlight wyświetla informacje o liście anonsów programu SharePoint przy użyciu polecenia ListData.svc. Aby uzyskać więcej informacji, zobacz Interfejs REST programu SharePoint Foundation i Protokół Open Data Protocol.

Uwaga

Na komputerze w poniższych instrukcjach mogą być wyświetlane inne nazwy i lokalizacje niektórych elementów interfejsu użytkownika programu Visual Studio. Te elementy są określane przez numer wersji Visual Studio oraz twoje ustawienia. Aby uzyskać więcej informacji, zobacz Personalizowanie środowiska IDE.

Wymagania wstępne

Następujące składniki są wymagane do przeprowadzenia tego instruktażu:

  • Obsługiwane wersje systemów Microsoft Windows i SharePoint.

  • Visual Studio 2012.

Tworzenie aplikacji Silverlight i składnika Web Part Silverlight

Najpierw utwórz aplikację Silverlight w programie Visual Studio. Aplikacja Silverlight pobiera dane z listy anonsów programu SharePoint przy użyciu usługi ListData.svc.

Uwaga

Żadne wersje programu Silverlight przed wersją 4.0 nie obsługują wymaganych interfejsów do odwoływania się do danych listy programu SharePoint.

Aby utworzyć aplikację Silverlight i składnik Web Part Silverlight

  1. Na pasku menu wybierz pozycję Plik>nowy>projekt, aby wyświetlić okno dialogowe Nowy projekt.

  2. Rozwiń węzeł programu SharePoint w obszarze Visual C# lub Visual Basic, a następnie wybierz węzeł 2010.

  3. W okienku szablonów wybierz szablon składnika Web Part programu SharePoint 2010 Silverlight.

  4. W polu Nazwa wprowadź slWebPartTest, a następnie wybierz przycisk OK.

    Zostanie wyświetlone okno dialogowe Kreator dostosowywania programu SharePoint.

  5. Na stronie Określanie witryny i poziomu zabezpieczeń na potrzeby debugowania wprowadź adres URL lokacji serwera programu SharePoint, w której chcesz debugować definicję lokacji, lub użyj lokalizacji domyślnej (nazwa systemu http:///).

  6. W sekcji Co to jest poziom zaufania dla tego rozwiązania programu SharePoint? wybierz przycisk Wdróż jako rozwiązanie farmy.

    Mimo że w tym przykładzie użyto rozwiązania farmy, projekty składników Web Part silverlight można wdrażać jako rozwiązania farmy lub piaskownicy. Aby uzyskać więcej informacji na temat rozwiązań w trybie piaskownicy i rozwiązań farmy, zobacz Zagadnienia dotyczące rozwiązania w trybie piaskownicy.

  7. W sekcji Jak chcesz skojarzyć składnik Web Part programu Silverlight na stronie Określanie informacji o konfiguracji programu Silverlight wybierz projekt Utwórz nowy program Silverlight i skojarz go z przyciskiem opcji składników Web Part.

  8. Zmień nazwę na SLApplication, ustaw wartość Language na Visual Basic lub Visual C#, a następnie ustaw wartość Silverlight Version na Silverlight 4.0.

  9. Wybierz przycisk Zakończ. Projekty są wyświetlane w Eksplorator rozwiązań.

    Rozwiązanie zawiera dwa projekty: aplikację Silverlight i składnik Web Part Silverlight. Aplikacja Silverlight pobiera i wyświetla dane listy z programu SharePoint, a składnik Web Part Silverlight hostuje aplikację Silverlight, umożliwiając jej wyświetlanie w programie SharePoint.

Dostosowywanie aplikacji Silverlight

Dodaj elementy kodu i projektu do aplikacji Silverlight.

Aby dostosować aplikację Silverlight

  1. Dodaj odwołanie do zestawu do pliku System.Windows.Data w aplikacji Silverlight. Aby uzyskać więcej informacji, zobacz Instrukcje: dodawanie lub usuwanie odwołań przy użyciu okna dialogowego Dodawanie odwołania.

  2. W Eksplorator rozwiązań otwórz menu skrótów dla pozycji Odwołania, a następnie wybierz pozycję Dodaj odwołanie do usługi.

    Uwaga

    Jeśli używasz języka Visual Basic, musisz wybrać ikonę Pokaż wszystkie pliki w górnej części Eksplorator rozwiązań, aby wyświetlić węzeł Odwołania.

  3. W polu Adres okna dialogowego Dodawanie odwołania do usługi wprowadź adres URL witryny programu SharePoint, na przykład http://MySPSite, a następnie wybierz przycisk Przejdź .

    Gdy program Silverlight lokalizuje usługę SharePoint OData ListData.svc, zastępuje adres pełnym adresem URL usługi. W tym przykładzie http://myserver staje się http://myserver/_vti_bin/ListData.svc.

  4. Wybierz przycisk OK, aby dodać odwołanie do usługi do projektu, a następnie użyj domyślnej nazwy usługi ServiceReference1.

  5. Na pasku menu wybierz pozycję Kompiluj rozwiązanie kompilacji>.

  6. Dodaj nowe źródło danych do projektu na podstawie usługi SharePoint. W tym celu na pasku menu wybierz pozycję Wyświetl>inne źródła danych systemu Windows.>

    W oknie Źródła danych są wyświetlane wszystkie dostępne dane listy programu SharePoint, takie jak Zadania, Anonsy i Kalendarz.

  7. Dodaj dane listy Anonsy do aplikacji Silverlight. Możesz przeciągnąć "Anonsy" z okna Źródła danych do projektanta Silverlight.

    Spowoduje to utworzenie kontrolki siatki powiązanej z listą anonsów witryny programu SharePoint.

  8. Zmień rozmiar kontrolki siatki, aby dopasować stronę silverlight.

  9. W pliku kodu MainPage.xaml (MainPage.xaml.cs for Visual C# lub MainPage.xaml.vb for Visual Basic) dodaj następujące odwołania do przestrzeni nazw.

    // Add the following three using directives.
    using SLApplication.ServiceReference1;
    using System.Windows.Data;
    using System.Data.Services.Client;
    
  10. Dodaj następujące deklaracje zmiennych w górnej części klasy.

    private TeamSiteDataContext context;
    private CollectionViewSource myCollectionViewSource;
    DataServiceCollection<AnnouncementsItem> announcements = new DataServiceCollection<AnnouncementsItem>();
    
  11. Zastąp procedurę UserControl_Loaded następującą.

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

    Pamiętaj, aby zastąpić symbol zastępczy ServerName nazwą serwera, na którym działa program SharePoint.

  12. Dodaj następującą procedurę obsługi błędów.

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

Modyfikowanie składnika Web Part programu Silverlight

Zmień właściwość w projekcie składników Web Part silverlight, aby włączyć debugowanie programu Silverlight.

Aby zmodyfikować składnik Web Part silverlight

  1. Otwórz menu skrótów dla projektu składnika Web Part Silverlight (SLWebPartTest), a następnie wybierz pozycję Właściwości.

  2. W oknie Właściwości wybierz kartę SharePoint.

  3. Jeśli nie jest jeszcze zaznaczone, zaznacz pole wyboru Włącz debugowanie programu Silverlight (zamiast debugowania skryptu).

  4. Zapisz projekt.

Testowanie składnika Web Part programu Silverlight

Przetestuj nowy składnik Web Part programu Silverlight w programie SharePoint, aby upewnić się, że wyświetla prawidłowo dane listy programu SharePoint.

Aby przetestować składnik Web Part programu Silverlight

  1. Wybierz klucz F5 do skompilowania i uruchomienia rozwiązania programu SharePoint.

  2. W programie SharePoint w menu Akcje witryny wybierz pozycję Nowa strona.

  3. W oknie dialogowym Nowa strona wprowadź tytuł, taki jak test składników Web Part SL, a następnie wybierz przycisk Utwórz.

  4. W projektancie stron na karcie Narzędzia do edycji wybierz pozycję Wstaw.

  5. Na pasku kart wybierz pozycję Składnik Web Part.

  6. W polu Kategorie wybierz folder Niestandardowy .

  7. Na liście składniki Web Part wybierz składnik Web Part Silverlight, a następnie wybierz przycisk Dodaj, aby dodać składnik Web Part do projektanta.

  8. Po dodaniu wszystkich dodatków do żądanej strony internetowej wybierz kartę Strona , a następnie wybierz przycisk Zapisz i zamknij na pasku narzędzi.

    Składnik Web Part Silverlight powinien teraz wyświetlać dane anonsu z witryny programu SharePoint. Domyślnie strona jest przechowywana na liście stron witryny w programie SharePoint.

    Uwaga

    Podczas uzyskiwania dostępu do danych w programie Silverlight w różnych domenach program Silverlight chroni przed lukami w zabezpieczeniach, których można użyć do wykorzystania aplikacji internetowych. Jeśli podczas uzyskiwania dostępu do danych zdalnych w programie Silverlight wystąpią problemy, zobacz Udostępnianie usługi w granicach domeny.