Пошаговое руководство. Создание веб-части Silverlight, отображающей OData для SharePoint
SharePoint 2010 предоставляет свои данные списка с помощью OData. Служба OData реализована в SharePoint службой RESTful (ListData.svc). В данном пошаговом руководстве показано, как создать веб-часть SharePoint, в которой размещается приложение Silverlight. Приложение Silverlight отображает информацию списка извещений SharePoint с помощью ListData.svc. Дополнительные сведения см. в разделе REST Interface SharePoint Foundation и Open Data Protocol.
Примечание.
Отображаемые на компьютере имена или расположения некоторых элементов пользовательского интерфейса Visual Studio могут отличаться от указанных в следующих инструкциях. Это зависит от имеющегося выпуска Visual Studio и используемых параметров. Дополнительные сведения см. в разделе Персонализация среды IDE.
Необходимые компоненты
Для выполнения этого пошагового руководства требуются следующие компоненты:
Поддерживаемые редакции Microsoft Windows и SharePoint.
Visual Studio 2012.
Создание приложения Silverlight и веб-части Silverlight
Сначала необходимо создать приложение Silverlight в Visual Studio. Приложение Silverlight извлекает данные из списка извещений SharePoint с помощью службы ListData.svc.
Примечание.
Версии Silverlight младше 4.0 не поддерживают необходимые интерфейсы для ссылки на данные списка SharePoint.
Создание приложения Silverlight и веб-части Silverlight
В строке меню выберите "Файл>нового проекта">, чтобы отобразить диалоговое окно "Новый проект".
Разверните узел SharePoint в Visual C# или Visual Basic, а затем выберите узел 2010.
В области шаблонов выберите шаблон веб-части SharePoint 2010 Silverlight.
В поле "Имя" введите SLWebPartTest и нажмите кнопку "ОК".
Откроется диалоговое окно мастера настройки SharePoint.
На странице "Указание сайта и уровня безопасности для отладки" введите URL-адрес сайта сервера SharePoint, в котором требуется выполнить отладку определения сайта, или используйте расположение по умолчанию (имя системы http:///).
В разделе " Что такое уровень доверия для этого решения SharePoint?" , нажмите кнопку "Развернуть как решение фермы".
Хотя в этом примере используется решение фермы, проекты веб-части Silverlight можно развертывать либо как решения фермы, либо как изолированные решения. Дополнительные сведения об изолированных решениях и решениях ферм см. в разделе "Изолированные решения".
В разделе "Как связать веб-часть Silverlight" на странице "Указание сведений о конфигурации Silverlight", выберите проект Create a Silverlight и свяжите его с кнопкой параметра веб-части.
Измените имя на SLApplication, установите для языка значение Visual Basic или Visual C#, а затем установите для Версии Silverlight 4.0 значение Silverlight.
Нажмите кнопку Готово . Проекты отображаются в Обозреватель решений.
Решение содержит 2 проекта: приложение Silverlight и веб-часть Silverlight. Приложение Silverlight извлекает и отображает данные списка из SharePoint, а веб-часть Silverlight размещает приложение Silverlight, позволяя просматривать его в SharePoint.
Настройка приложения Silverlight
Добавление кода и элементов оформления в приложение Silverlight.
Настройка приложения Silverlight
Добавьте ссылку на сборку в System.Windows.Data в приложении Silverlight. Дополнительные сведения см. в разделе "Практическое руководство. Добавление или удаление ссылок с помощью диалогового окна "Добавление ссылки".
В Обозреватель решений откройте контекстное меню для ссылок и нажмите кнопку "Добавить ссылку на службу".
Примечание.
Если вы используете Visual Basic, щелкните значок "Показать все файлы" в верхней части Обозреватель решений, чтобы отобразить узел "Ссылки".
В поле "Адрес" диалогового окна "Добавить ссылку на службу" введите URL-адрес сайта SharePoint, например http://MySPSite, и нажмите кнопку "Перейти ".
Когда Silverlight находит службу OData SharePoint ListData.svc, он заменяет адрес полным URL-адресом службы. В этом примере http://myserver становится http://myserver/_vti_bin/ListData.svc.
Нажмите кнопку "ОК", чтобы добавить ссылку на службу в проект и использовать имя службы по умолчанию ServiceReference1.
В строке меню последовательно выберите Сборка>Собрать решение.
Добавьте в проект новый источник данных на основе службы SharePoint. Для этого в строке меню выберите "Просмотреть>другие источники данных Windows".>
В окне "Источники данных" отображаются все доступные данные списка SharePoint, такие как задачи, объявления и календарь.
Добавьте данные списка извещений в приложение Silverlight. Вы можете перетащить "Объявления" из окна источников данных в конструктор Silverlight.
При этом создается элемент управления "сетка", привязанный к списку извещений сайта SharePoint.
Измените размер элемента управления "сетка" в соответствии с размером страницы Silverlight.
В файле кода MainPage.xaml (MainPage.xaml.cs для Visual C# или MainPage.xaml.vb для Visual Basic) добавьте следующие ссылки на пространство имен.
Добавьте следующие объявления переменных в начало класса.
Замените процедуру
UserControl_Loaded
следующим кодом.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); } }
Обязательно замените заполнитель ServerName именем сервера, на котором выполняется SharePoint.
Добавьте следующую процедуру обработки ошибок.
Изменение веб-части Silverlight
Измените свойство в проекте веб-части Silverlight, чтобы включить отладку Silverlight.
Изменение веб-части Silverlight
Откройте контекстное меню для проекта веб-части Silverlight (SLWebPartTest), а затем выберите "Свойства".
В окне "Свойства" выберите вкладку SharePoint.
Если он еще не выбран, выберите поле "Включить отладку Silverlight" (вместо отладки скрипта) проверка.
Сохраните проект.
Тестирование веб-части Silverlight
Протестируйте новую веб-часть Silverlight в SharePoint, чтобы убедиться в том, что он правильно отображает данные списка SharePoint.
Тестирование веб-части Silverlight
Выберите ключ F5 для сборки и запуска решения SharePoint.
В SharePoint в меню "Действия сайта" выберите "Создать страницу".
В диалоговом окне "Новая страница" введите заголовок, например тест веб-части SL, а затем нажмите кнопку "Создать".
В конструкторе страниц на вкладке "Средства редактирования" нажмите кнопку "Вставить".
На вкладке выберите веб-часть.
В поле "Категории" выберите пользовательскую папку.
В списке веб-части выберите веб-часть Silverlight и нажмите кнопку "Добавить", чтобы добавить веб-часть в конструктор.
После внесения всех добавлений на нужную веб-страницу выберите вкладку "Страница ", а затем нажмите кнопку "Сохранить" и " Закрыть " на панели инструментов.
Веб-часть Silverlight теперь должна отображать данные извещений с сайта SharePoint. По умолчанию страница хранится в страницах сайта в SharePoint.
Примечание.
При доступе к данным в Silverlight между доменами, Silverlight защищается от уязвимостей безопасности, которые могут быть использованы для эксплуатации веб-приложений в своих целях. Если при доступе к удаленным данным в Silverlight возникают проблемы, ознакомьтесь с разделом "Доступность службы через границы домена".