티스토리 뷰
이전 블로그에서 설명한 SharePoint 2010 데이터 기술 중에서 Client OM(개체 모델)에 대한 내용을 알아보도록 하겠습니다.
SharePoint 2010 데이터 기술에 대한 내용은 아래 주소를 참고하시기 바랍니다.
SharePoint 2010 박스 위가 아닌 원격에 떨어져 있을 경우 SharePoint 개체를 액세스하려면 웹 서비스를 통해 힘들게 해야 하지만 SharePoint 2010에서는 아주 손쉽게 접근할 수 있도록 Client OM을 제공해주고 있습니다. 생성할 수 있는 유형은 .NET, Silverlight, Javascript 를 통해 접근할 수 있습니다.
아래 표를 보시면 클래스와 메서드 등의 경우 서버 개체 모델과 거의 유사하게 구성되어 있습니다.
Server |
.NET Managed |
Silverlight |
JavaScript |
SPContext |
ClientContext |
ClientContext |
ClientContext |
SPSite |
Site |
Site |
Site |
SPWeb |
Web |
Web |
Web |
SPList |
List |
List |
List |
SPListItem |
ListItem |
ListItem |
ListItem |
SPField |
Field |
Field |
Field |
표에서 보듯이 SP 라는 글자가 없어지고 거의 동일하게 작업이 가능합니다. 하지만 일부는 변경되어 있습니다. 웹 서비스를 통해 CAML을 처리하지 않아도 API를 통해 정말 편하게 접근이 가능합니다.
먼저 .NET Client OM을 알아보도록 하겠습니다. 그리고 다음 블로그에서 Silverlight, Javascript를 알아보도록 하겠습니다.
Visual Studio 2010을 통해 WPF 응용 프로그램을 생성합니다. 이름은 WpfClientOMDemo라고 하겠습니다.
Button 컨트롤을 디자인 영역으로 드래그하고 Click 이벤트를 생성합니다.
.NET Managed Client OM을 이용하기 위해서는 아래 어셈블리를 참조해야 합니다.
Microsoft.SharePoint.Client.dll
Microsoft.SharePoint.Client.Runtime.dll
경로는 아래와 같습니다.
C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\ISAPI
코드보기로 이동하여 소스 코드에 아래 using 구문을 추가합니다.
using Microsoft.SharePoint.Client;
using SP=Microsoft.SharePoint.Client;
InitializeComponent() 아래 부분에 다음과 같은 코드를 입력하고 프로젝트 속성에서
.NET Framework 4.0 Client Profile 을 .NET Framework 4.0으로 변경하고 실행해봅니다.
x86은 그대로 두고 진행하면 됩니다.
ClientContext context = new ClientContext("http://sp.webtime.co.kr");
Web site = context.Web;
context.Load(site);
context.ExecuteQuery();
site.Title = site.Title + " Client OM";
site.Update();
context.ExecuteQuery();
위 코드는 SP 라는 이름이 붙어있다면 서버 개체 모델과 동일하다는 것을 알 수 있습니다.
결과는 아래처럼 “Home Client OM”으로 변경되어 있습니다.
디자인 보기로 이동하여 ListBox 컨트롤을 드래그합니다.
코드 보기에서 위에서 작성한 코드는 주석처리하고 아래와 같은 코드를 입력합니다.
아래 코드는 목록들의 이름을 리스트박스에 추가해서 나타내는 내용입니다.
ClientContext context = new ClientContext("http://sp.webtime.co.kr");
Web site = context.Web;
ListCollection lists = site.Lists;
IEnumerable<Microsoft.SharePoint.Client.List> listcollection =
context.LoadQuery(lists.Include(l => l.Title, l => l.Id));
context.ExecuteQuery();
listbox1.ItemsSource = listcollection;
listbox1.DisplayMemberPath = "Title";
결과는 다음과 같습니다.
작성한 코드는 주석처리하고 아래와 같은 코드를 입력합니다.
아래 코드는 사이트에 HJ 라는 공지사항을 생성하고 빠른 실행에 표시해주는 코드입니다. 이런 내용을 서버 개체 모델로 하는 것이 아니라 클라이언트 개체 모델로 해주고 있습니다.
ClientContext context = new ClientContext("http://sp.webtime.co.kr");
Web site = context.Web;
ListCreationInformation listCI = new ListCreationInformation();
listCI.Title = "HJ";
listCI.TemplateType = (int)SP.ListTemplateType.Announcements;
listCI.QuickLaunchOption = SP.QuickLaunchOptions.On;
SP.List li = site.Lists.Add(listCI);
site.Update();
위에서 생성한 HJ라는 공지사항에 항목을 입력해보겠습니다. 작성된 코드를 주석처리하고
HJ를 찾아서 ListItem을 생성하는 코드를 아래와 같이 작성합니다. ListItemCreationInformation 이라는 클래스를 이용합니다.
ClientContext context = new ClientContext("http://sp.webtime.co.kr");
Web site = context.Web;
SP.List li = site.Lists.GetByTitle("HJ");
ListItemCreationInformation listitemCI = new ListItemCreationInformation();
SP.ListItem item = li.AddItem(listitemCI);
item["Title"] = "hongju";
item["Body"] = "Consulting Services";
item.Update();
context.ExecuteQuery();
HJ 라는 공지 사항에 항목이 하나 추가되어 있는 것을 아래 그림과 같이 확인이 가능합니다.
위에서 Client Object Model에 대한 개요와 .NET Managed Client Object Model에 대한 내용을 알아보았습니다. 서버 개체 모델은 서버 박스 위에서 실행되는 웹 파트나 유틸리티를 통해 처리되지만 원격의 클라이언트에서 실행되도록 하려면 SharePoint 2010에서는 Client OM을 사용할 수 있습니다. 다음 블로그에서 Silverlight Client Object Model 을 알아보도록 하겠습니다.
'SharePoint > SharePoint 2010' 카테고리의 다른 글
Client Object Model – Silverlight (2) (0) | 2011.01.23 |
---|---|
Client Object Model – Silverlight (1) (0) | 2011.01.23 |
SharePoint 2010 LINQ to SharePoint (0) | 2011.01.23 |
Visual Studio 2010 출시에 따른 SharePoint Developer Tools (0) | 2011.01.23 |
SharePoint 2010 Server Object Model (0) | 2011.01.23 |
- Total
- Today
- Yesterday
- 목표
- SQL Azure
- Power BI Desktop
- hongju
- SharePoint Online
- Visual Studio 2010
- Power BI 업데이트
- Power BI Update
- Windows Phone 7
- Power BI Desktop Update
- redJu
- 업데이트
- Paginated Report
- Power BI Desktop 업데이트
- Windows Azure 업데이트
- Windows Azure Mobile Services
- SharePoint 2010
- sharepoint
- Power BI
- sql server 2012
- Microsoft Fabric
- 페이지를 매긴 보고서
- copilot
- Power BI Copilot
- Cloud
- 클라우드
- SharePoint Object Model
- Windows Azure
- SharePoint 2013
- 정홍주
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |