연습: SharePoint용 OData를 표시하는 Silverlight 웹 파트 만들기
SharePoint 2010 Odata를 사용 하 여 목록 데이터를 노출합니다.Sharepoint에서 OData 서비스 RESTful 서비스 Listdata.svc에서 구현 됩니다.이 연습에서는 Silverlight 응용 프로그램을 호스팅하는 SharePoint 웹 파트를 만드는 방법을 보여 줍니다.Silverlight 응용 프로그램 Listdata.svc를 사용 하 여 SharePoint 공지 사항 목록 정보를 표시 합니다.자세한 내용은 SharePoint Foundation REST 인터페이스 및 Open Data Protocol.
이 연습에서는 다음 작업을 수행합니다.
Silverlight 응용 프로그램 및 Silverlight 웹 파트 만들기.
Silverlight 응용 프로그램 사용자 지정.
Silverlight 응용 프로그램 사용자 지정.
Silverlight 응용 프로그램 사용자 지정.
Silverlight 웹 파트 테스트.
[!참고]
다음 지침처럼 컴퓨터에서 Visual Studio 사용자 인터페이스 요소 일부에 대한 이름이나 위치를 다르게 표시할 수 있습니다. 이러한 요소는 사용하는 Visual Studio 버전 및 설정에 따라 결정됩니다. 자세한 내용은 Visual Studio 설정을 참조하십시오.
사전 요구 사항
이 연습을 완료하려면 다음 구성 요소가 필요합니다.
지원되는 Microsoft Windows 및 SharePoint 버전.자세한 내용은 다음을 참조하십시오 SharePoint 솔루션 개발 요구 사항.
Visual Studio 2012.
Silverlight 응용 프로그램 및 Silverlight 웹 파트 만들기
먼저 Silverlight 응용 프로그램에서 Visual Studio 만듭니다.Silverlight 응용 프로그램의 ListData.svc 서비스를 사용 하 여 SharePoint 공지 사항 목록에서 데이터를 검색 합니다.
[!참고]
Silverlight 4.0 이전 버전이 없습니다 SharePoint 목록의 데이터를 참조 하기 위해 필요한 인터페이스를 지원 합니다.
Silverlight 응용 프로그램과 Silverlight 웹 파트를 만들려면
메뉴 표시줄에서 선택 파일, New, 프로젝트 표시 하는 새 프로젝트 대화 상자.
확장은 SharePoint 노드 중 하나에서 C# 또는 Visual Basic, 다음 선택은 2010 노드.
템플릿 창에서 선택 된 SharePoint 2010 Silverlight 웹 파트 템플릿.
에 있는 이름 상자에서 Slwebparttest를 입력 하 고 다음을 선택의 확인 단추.
SharePoint 사용자 지정 마법사 대화 상자가 나타납니다.
디버깅에 사용할 사이트 및 보안 수준 지정 페이지에서 사이트 정의를 디버깅할 SharePoint 서버 사이트의 URL을 입력하거나 기본 위치(http://system name/)를 사용합니다.
에 있는 이 SharePoint 솔루션의 신뢰 수준을 무엇입니까? 섹션에서 선택 된 팜 솔루션으로 배포 옵션 단추.
이 예제에서는 팜 솔루션을 사용 하지만 Silverlight 웹 파트 프로젝트 팜 또는 샌드박스 솔루션으로 배포할 수 있습니다.샌드박스가 적용 된 솔루션과 팜 솔루션에 대 한 자세한 내용은 샌드박스가 적용된 솔루션 고려 사항.
에 Silverlight 웹 파트를 연결할 방법을 섹션의 Silverlight 구성 정보를 지정할 페이지에서 선택의 새 Silverlight 프로젝트 만들기 및 웹 파트에 연결 옵션 단추.
변경의 이름 Slapplication으로 설정 언어 은 Visual Basic 또는 C#, 다음 설정 Silverlight 버전 에 Silverlight 4.0.
선택 된 마침 단추입니다.프로젝트에 솔루션 탐색기.
솔루션에 프로젝트가 두 개 있습니다: Silverlight 응용 프로그램 및 Silverlight 웹 파트입니다.Silverlight 응용 프로그램이 검색 하 고 Sharepoint에서 목록 데이터를 표시 하 고 Silverlight 웹 파트를 Sharepoint에서 볼 수 있도록 Silverlight 응용 프로그램을 호스트 합니다.
Silverlight 응용 프로그램 사용자 지정
Silverlight 응용 프로그램에 코드 및 디자인 요소를 추가 합니다.
Silverlight 응용 프로그램을 사용자 지정 하려면
Silverlight 응용 프로그램에서 System.windows.data는 어셈블리 참조를 추가 합니다.자세한 내용은 방법: 참조 추가 대화 상자를 사용하여 참조 추가 또는 제거을 참조하십시오.
솔루션 탐색기, 바로 가기 메뉴를 열고 참조, 다음 선택 서비스 참조 추가.
[!참고]
Visual Basic 사용 하는 경우를 선택 해야 여 모든 파일 표시 아이콘 상단에 솔루션 탐색기 표시 하는 참조 노드.
주소 상자에서는 서비스 참조 추가 대화 상자에서 SharePoint 사이트의 URL을 입력 http://MySPSite, 다음 선택은 이동 단추.
Silverlight ListData.svc SharePoint OData 서비스를 찾는 경우 전체 서비스 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 다음 네임 스페이스 참조를 추가 합니다.
' 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;
다음과 같은 변수 선언을 클래스의 맨 위에 추가 합니다.
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>();
대체 된 UserControl_Loaded 프로시저를 다음.
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); } }
바꿔야는 ServerName Sharepoint를 실행 중인 서버의 이름 자리 표시자입니다.
다음 오류 처리 프로시저를 추가 합니다.
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)); } }
Silverlight 웹 파트 수정
Silverlight 디버깅을 사용할 수 있도록 Silverlight 웹 파트 프로젝트에 속성을 변경 합니다.
Silverlight 웹 파트를 수정 하려면
Silverlight 웹 파트 프로젝트에 대 한 바로 가기 메뉴를 엽니다 (SLWebPartTest), 다음을 선택 하 고 속성이.
에 속성 창의 선택은 SharePoint 탭.
선택 되어 있지 않으면 선택 된 (스크립트 디버깅 대신) 사용 하는 Silverlight 디버깅 확인란을 선택 합니다.
프로젝트를 저장합니다.
Silverlight 웹 파트 테스트
SharePoint 목록 데이터는 올바르게 표시 되도록 하려면 Sharepoint에서 새 Silverlight 웹 파트를 테스트 합니다.
Silverlight 웹 파트를 테스트 하려면
빌드 및 SharePoint 솔루션을 실행 하려면 F5 키를 선택 합니다.
Sharepoint의에서 사이트 작업 메뉴를 선택 새 페이지.
에 새 페이지 대화, SL 웹 파트 테스트 등의 제목을 입력 한 다음 선택은 만들기 단추.
페이지 디자이너의에 편집 도구 탭에서 선택 삽입.
탭 스트립을 선택 웹 파트.
에 범주 상자에서 선택 된 사용자 지정 폴더.
에 웹 파트 목록에서 Silverlight 웹 파트를 선택 하 고 다음을 선택의 추가 디자이너에 웹 파트를 추가 하는 단추입니다.
기능은 모두 사용자가 원하는 웹 페이지에 변경한 후 선택은 페이지 탭을 클릭 한 다음 선택은 저장 & 닫기 도구 모음 단추를.
이제 Silverlight 웹 파트 SharePoint 사이트에서 알림 데이터가 표시 됩니다.기본적으로 sharepoint에서 사이트의 페이지 목록에서 페이지 저장 됩니다.
[!참고]
도메인 간 Silverlight의 데이터를 액세스할 때 Silverlight 웹 응용 프로그램을 악용 하는 데 사용 하는 보안 취약성 으로부터 보호 합니다.Silverlight에서 원격 데이터를 액세스할 때 문제가 발생할 경우 참조 하십시오 는 서비스 사용할 수 있는 여러 도메인 경계를 만들 수.
참고 항목
개념
SharePoint 솔루션 패키지 배포, 게시 및 업그레이드