sharepoint
관리되는 서버 쪽 개체 모델 작업 (완전 신뢰)
수색…
비고
개념적 계층 구조
SharePoint 개념적 계층 구조에서 사이트 모음 은 사이트 를 포함하며 차례로 목록 을 포함 합니다 . 사이트 모음 ( SPSite
)에는 명시적인 UI가 없지만 항상 루트 수준 사이트 ( RootWeb
속성을 통해 액세스 할 수 있음)와 해당 루트 사이트 아래에 추가 하위 사이트가 항상 포함되어 있습니다. 사이트 또는 웹 ( SPWeb
)에는 UI가 있으며 목록 / 문서 라이브러리 ( SPList
), 웹 파트가있는 페이지 및 항목 / 문서 ( SPListItem
)가 포함되어 있습니다.
서버 측주의 사항
- Visual Studio 프로젝트에서 SharePoint 서버 쪽 개체 모델을 사용하는 응용 프로그램을 만들려면 Framework Assemblies 아래에 나열된 Microsoft.SharePoint 어셈블리에 대한 참조를 추가해야합니다.
- 서버 측 개체 모델 (완전 신뢰)을 사용하는 응용 프로그램은 SharePoint를 호스팅하는 Windows Server에서만 실행할 수 있습니다.
- 응용 프로그램이 실행되고있는 SharePoint 서버가 아닌 다른 SharePoint 서버에는 연결할 수 없습니다.
Hello World (사이트 제목 얻기)
2013 년
SharePoint 2013 및 최신 버전은 64 비트 전용이므로 어셈블리 / 프로그램도 64 비트 프로세서 용으로 빌드해야합니다.
프로젝트가 생성 된 직후 플랫폼 대상 을 모든 CPU 에서 x64로 전환해야합니다. 그렇지 않으면 오류가 발생합니다.
using System;
using Microsoft.SharePoint;
namespace StackOverflow
{
class Samples
{
static void Main()
{
using (SPSite site = new SPSite("http://server/sites/siteCollection"))
using (SPWeb web = site.OpenWeb())
{
Console.WriteLine("Title: {0} Description: {1}", web.Title, web.Description);
}
}
}
}
전체 SharePoint 팜에서 반복
SharePoint 웹 서버에서 실행 된 PowerShell 사용 :
$wacoll = get-spwebapplication
foreach($wa in $wacoll){
if($wa.IsAdministrationWebApplication -eq $false){
foreach($site in $wa.Sites){
foreach($web in $site.AllWebs){
# your code here
$web.Dispose()
}
$site.Dispose()
}
}
}
목록 항목 검색
using (SPSite site = new SPSite("http://server/sites/siteCollection"))
using (SPWeb web = site.OpenWeb())
{
SPList list = web.Lists["Some list"];
// It is always better and faster to query list items with GetItems method with
// empty SPQuery object than to use Items property
SPListItemCollection items = list.GetItems(new SPQuery());
foreach (SPListItem item in items)
{
// Do some operation with item
}
}
페이징을 사용하여 항목 검색
using (SPSite site = new SPSite("http://server/sites/siteCollection"))
using (SPWeb web = site.OpenWeb())
{
SPList list = web.Lists["Some list"];
SPQuery query = new SPQuery()
{
RowLimit = 100
};
do
{
SPListItemCollection items = list.GetItems(query);
foreach (SPListItem item in items)
{
// Do some operation with item
}
// Assign current position to SPQuery object
query.ListItemCollectionPosition = items.ListItemCollectionPosition;
} while (query.ListItemCollectionPosition != null);
}
URL로 목록 가져 오기
using (SPSite site = new SPSite("http://server/sites/siteCollection"))
using (SPWeb web = site.OpenWeb())
{
string listUrl = string.Format("{0}{1}", web.ServerRelativeUrl, "Lists/SomeList");
SPList list = web.GetList(listUrl);
}
목록 항목 만들기
새 목록 항목을 만들 때 문자열 배열과 비슷한 구문을 사용하여 필드를 설정할 수 있습니다. 이 필드는 즉시 작성되지 않으며 목록 스키마에 의해 정의됩니다. 이 필드 (또는 열)가 서버에 존재해야합니다. 그렇지 않으면 create가 실패합니다. 모든 목록 항목에는 제목 필드가 있습니다. 일부 목록에는 항목이 목록에 게시되기 전에 작성해야하는 필수 입력란이있을 수 있습니다.
이 예에서 목록은 공지 사항 템플릿을 사용하고 있습니다. 제목 필드 외에도 목록에는 발표의 내용을 표시 할 본문 필드가 있습니다.
using (SPSite site = new SPSite("http://server/sites/siteCollection"))
using (SPWeb web = site.OpenWeb())
{
SPList list = web.Lists["Announcements"];
SPListItem item = list.AddItem();
item[SPBuiltInFieldId.Title] = "My new item";
item[SPBuiltInFieldId.Body] = "Hello World!";
item.Update();
}
Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow