• 카테고리
    • 전체 글

    • 카테고리1
    • 카테고리2
    • 카테고리3
    • 카테고리4
  • 태그
  • 방명록

'2011/09'에 해당되는 글 3건

  • 2011.09.30 SharePoint Foundation 2010 설치.
  • 2011.09.23 SharePoint 2010에서 WCF 인터페이스 구축하기.
  • 2011.09.07 SharePoint 2010 사용하기 - 0

SharePoint Foundation 2010 설치.

기술자료/.NET 2011. 9. 30. 10:52

이 설치는 SharePoint Foundation을 간략하게 설치하거나, 개발 환경 정도로 구성할 때 사용한다. 실제 운영하거나, SharePoint Server 2010 Standard 이상 버전의 서버 군 설치와는 다르다.

이 작업을 위해 필요한 환경은 아래와 같다.

Hardware

  • x64를 지원하는 PC 혹은 가상 머신
  • RAM 4G 이상.
  • HDD 80G 이상.
  • 인터넷이 연결 가능한 네트워크

Software

  • MS Windows Server 2008 R2 Standard 혹은 Enterprise Edition.
  • SharePoint Foundation 2010 ( http://download.microsoft.com 에서 다운 가능 )
  • MS SQL 2008 R2 Express with Tools ( http://download.microsoft.com 에서 다운 가능 )
    - 그냥 Express 버전은 Management Tool 이 없어서, DB 설정이나, 구성을 할 때 사용하는 도구가 없다.

Overview

전체적인 설치 순서는 다음과 같다. 이 순서대로 캡쳐 화면과 함께 소개할 예정이다.

  1. MS Windows Server 2008 R2 설치.
  2. Windows 관련 설정.
  3. SharePoint Foundation 설치.
  4. SQL 2008 R2 로 업그레이드 및 DB 관리도구 설치.
  5. SharePoint Foundation 구성.
  6. 기타..

이제 위의 순서대로 설치하는 방법을 나열할 것이다.
캡쳐된 화면은 1024 * 768의 화면을 캡쳐했는데, 블로그의 표시 해상도 상 사이즈를 많이 줄였다.
만일 제대로 확인이 불가능하면, 해당 그림을 클릭해서 확대해서 보면 된다. 

 

MS Windows Server 2008 R2 설치

Windows Server 2008 R2 미디어를 준비한다. 그리고 필요하면 CD-Key 정도는 확보해야 한다. 정품인증을 하지 않아도  대략 30일 정도는 사용할 수 있지만, 그 이후에는 여러 가지 문제가 발생할 수 있다. 또한 Windows Update 부분에서도 일부 불이익을 받을 수 있다.  만일 단순 테스트 용도라면 굳이 정품 인증이 필요 없다.

먼저 일반적인 Windows 설치와 마찬가지로, 미디어를 넣고 시작한다. Windows Server 2008 R2는 Windows 7 기반과 동일한 비슷한 구조로 되어 있어 시작화면도 Windows 7과 비슷하다.

본격적인 서버 설치 화면은 다음과 같다.

로딩이 완료되면 제품을 선택하는 화면이 나온다. 이 중, Standard 혹은 Enterprise를 선택한다. 또한 주의할 점이 (Server Core Installation) 이라는 항목들이 있는데, 이것은 피하도록 하자. 반드시 (Full Installation)을 선택한다. (Server Core Installation)은 진짜 Server의 핵심적인 모듈만 설치하기 때문에, UI가 전혀 없고, 도스 창 하나만 달랑 나오기 때문에, 진짜 운영용 서버를 만드는게 아니면 피하는게 상책이다.

만일 HDD Disk가 여러 개인 경우나, 파티션이 나눠져 있거나, 혹은 기존에 설치된 운영체제가 있는 경우에는 디스크 관련 도구가 뜬다. 그 부분은 상황에 맞춰서 적절하게 설치위치를 잡아준다.

설치가 본격적으로 진행되면 다음과 같은 화면이 나타나면서 자동으로 설치가 진행된다.

설치가 완료되면 Administrator의 암호가 설정되지 않았다고 나오면서 암호를 넣어달라고 한다. 이 암호를 만든 후에, 그 암호로 로그인을 하도록 한다. 그러면 Windows Server 설치는 완료된다.

Windows Server 설정

반드시 필요하다고 하면 필요하고 필요 없다고 하면 필요 없지만, 일단 간단한 설정을 해주도록 한다.

먼저 Internet Explorer의 보안설정을 끄도록 한다. 여기서는 약자로 IE ESC 라고 하는데, 이 항목들을 모두 Off로 해줘야 한다. 안 그러면 보안 설정으로 인해 웹사이트 접속이 어렵기도 하고, SharePoint 내의 검색 엔진이 정상적으로 동작하지 않게 된다.

서버 관리자를 띄우면 바로 볼 수 있다. 아래의 그림에서 왼편에 있는 Configure IE ESC링크를 누르면 창이 뜨는데, 그 안의 내용에 모든 Off 부분에 설정하면 된다.

다음 작업들은 반드시 필요한 것은 아니지만, 관리 및 작업의 편의상 해주면 좋은 정도이다.

Windows Update 비활성화.

MS의 Windows Update 설정은 대부분 완전 자동으로 하는 것을 추천한다. 하지만, 서버 제품 군은 가급적 이 설정을 끄는 것이 좋다. 특히 예상치 못한 시점에 갑자기 꺼지는 경우도 있기 때문이다.

설정 방법은 간단하다.먼저 제어판에 들어간다.

다음은 System and Security에 들어간다.

Windows Update 항목에 들어간 뒤,

왼편에 조그만하게 있는 Chnage Settings에 들어간다.

선택상자에서 Never check for updates를 선택하고 OK를 클릭한다.

 

User Account Control 비활성화

UAC(User Account Control) 이란, Windows에서 동작하게 되는 중요한 자원(시스템 파일 혹은 레지스트리 정보, 설치된 프로그램 파일 등등)이 자동적으로 프로그램에서 손대게 될 때, 사용자에게 확인 작업을 하는 보안 기능이다. 특히 트로이의 목마 같이 사용자 몰래 동작해서 Windows의 주요 파일들을 멋대로 변조하거나, 시스템 감시를 하는 짓과 같은 것을 원천 차단하게 된다. 이 기능은 Windows의 최 중심부인 Kernel 레벨에서 원천 차단하기 때문에, 화면이 완전히 멈추고, 사용자 확인을 요청하는 확인, 취소 버튼만 보이게 된다. 그래서 보안 설정 상 이 부분을 그래도 두는것을 권장한다.

하지만, 매번 작업할 때마다, 화면이 잠기게 되면 매번 확인을 눌러주는 것도 일이 되는데다가, 원격에서 작업하는데 미묘하게 화면이 잠겨서 더이상애로사항이 꽃피게 된다. 가급적 이 옵션을 설정하는게 편하다. 물론 화면이 잠겨도 아무런 문제가 없다면 켜 놓는게 좋다.

먼저 제어판에 들어간다.

제어판 항목 중, User Account 항목을 선택한다.

User Accounts 안의 User Account를 선택한다.

User Account 안에 맨 아래에 위치한 Change User Account Control Settings 를 클릭한다.

그러면 UAC(User Account Control) 설정화면이 나오는데, 여기서 맨 아래 단계로 맞추고 OK를 클릭한다

 

SharePoint Foundation 설치.

이제 본격적인 SharePoint 설치가 되겠다. SharePoint 에서 설치 작업은 크게 파일 자체 설치와 DB 구성 설치로 나눌 수 있다. 그에 맞추어 설명한다.

먼저 SharePoint Foundation 설치 파일을 실행한다. 대개 http://download.microsoft.com 에서 SharePoint Foundation 이라고 치면 설치파일을 쉽게 찾을 수 있다. 이 파일을 받아 설치를 하면 된다. 더블 클릭하면, 자동으로 압축을 풀고 설치진행이 시작된다.

이 SharePoint Foundation도 나름 서버 제품이기 때문에, 서버 제품 특유의 Autorun 화면이 나온다.
그 중 “Install software prerequisites” 라는 항목을 클릭해서 실행한다. (Install 바로 다음에 있는 항목)

예전에는 설치를 진행할 때, 설치에 필요한 필수 항목들을 설치해 달라고 오류가 나거나, 별도 메시지 창을 제공했는데, 이번에는 별도 도구를 제공해서 한번에 필요한 요소들을 모조리 설정해주는 편리한 도구가 생겼는데, 바로 그것이 “Install software prerequisites”  이다.

실행하면 다음과 같은 항목들을 알아서 구성해준다.

  • Application Server Role, Web Server (IIS) Role
  • Microsoft SQL Server 2008 Native Client
  • Hotfix for Microsoft Windows (KB976462)
  • Windows Identity Foundation (KB974405)
  • Microsoft Sync Framework Runtime v1.0 (x64)
  • Microsoft Chart Controls for Microsoft .NET Framework 3.5
  • Microsoft Filter Pack 2.0
  • Microsoft SQL Server 2008 Analysis Services ADOMD.NET
  • Microsoft Server Speech Platform Runtime (x64)
  • Microsoft Server Speech Recognition Language - TELE(en-US)
  • SQL 2008 R2 Reporting Services SharePoint 2010 Add-in

먼저 설치되어 있으면 건너뛰고, 없으면 설치하도록 되어 있다.
이 모든 진행은 마법사 화면으로 되어 있으며, Next만 누르면 거의 완료된다.

설치 중간에 재 시작이 될 수 있는데, 로그인만 하면 자동으로 실행되므로, 반드시 설치했던 계정으로 계속 로그인 하도록 한다. (대개 특별한 계정을 만들지 않으면 Administrator 계정일 것이다. )

모든 설치가 완료되면 다음과 같은 요약화면이 뜬다.

완료가 되었으면 이제 SharePoint 자체를 설치한다. 
아래와 같은 초기 화면이 닫혔다면 다시 설치파일을 실행해서 화면에 나오게 한다.

이제 앞서 클릭했던 “Install software prerequisites” 다음 항목인 “Install SharePoint Foundation”을 선택하도록 한다.

자동으로 새로운 설치 진행 준비가 완료되면 다음과 같이 설치 종류를 물어본다. 하나는 Standalone 설치이고 다른 하나는 Server Farm 설치이다. SQL DB를 별도로 구성하려면 Server Farm을 해야 되지만, 이를 위해서는 Active Directory 까지 준비가 되어 있어야 한다. 그 정도 되면 여기서 설명하는 범위가 벗어나므로 그냥 Standalone으로 구성한다. 자동으로 SQL DB와 SharePoint 모듈이 모두 설치되며, 심지어는 자동으로 팀 사이트까지 만들어 놓게 된다.

여튼 Standalone을 선택한다.

모든 설치는 자동으로 진행된다, 끝날 때까지 기다리면 된다.

완료가 되면, 체크 박스와 함께 Finish 버튼이 나오는데, 체크 박스를 끄고 Finish를 한다. 다음 단계는 SharePoint 구성인데, 이 체크 박스의 체크의 의미가 그 SharePoint 구성 도구를 자동으로 띄울 것인지를 묻는 것이다.

우리는 SharePoint 구성 전에 , SQL Server 2008 R2에 대한 업데이트를 먼저 진행할 것이다.

 

SQL 2008 R2로 업그레이드 및 DB 관리도구 설치

SharePoint 가 2010이 되면서 SQL Server 2008 R2를 지원하게 되었는데, 이를 통해 업데이트 된 사항이 바로, FILESTREAM이라는 기능이다. 이 기능은 BLOB 즉 대용량 바이너리 파일을 DB에 직접 넣지 않고, 공유 폴더 같은 곳에 넣어주는 기능이다. SharePoint의 최대의 단점이 바로 이 바이너리 파일을 직접 DB에 넣는 문제라고 볼 수 있는데, 이 부분을 상당 부분 개선할 수 있다.

그렇지만, 이 FILESTREAM 기능을 사용하려면, SQL DB 자체의 설정 변경이 반드시 필요하다. 그 작업을 위해서는 당연한 것이지만, SQL Server가 2008 R2 이여야 하며, 또한 SQL Management Studio 가 필요하다.

이제부터 그 작업이라고 보면 된다.

먼저 MS SQL Server 2008 R2 Express with Tools 라는 것을 받는다. 반드시 With Tools 버전을 받는다. 다른 Express 버전과는 다르게, 이 버전은 SQL Managment Studio가 탑재되어 있다. 물론 별도로 받아 설치할 수 있지만, 한번에 받는 것이 더 편하다.

먼저 SQL Server 2008 R2로 업그레이드부터 한다.

SQL Server 2008 R2로 업그레이드

이 작업도 많이 애매한 편인데, 요즘 등록된 SharePoint Foundation 2010 에는 2008 R2 버전이 탑재되어 있다. 예전에 받아놓았던 SharePoint Foundation 설치 파일에는 그냥 2008만 담겨 있다.여튼 R2든 그냥 2008이든, 업그레이드 과정을 먼저 시도한다.

설치용 실행파일을 실행하면 Server 설치도구가 뜬다.

좀 메뉴가 복잡하게 되어 있는데, 왼편 Installation 항목을 클릭해서 화면을 전환한 뒤, 3가지 항목 중에 가운데에 위치한, Upgrade from SQL Server 2000, SQL Server 2005 or SQL Server 2008 을 클릭하도록 한다.


그러면 EUL 승인 화면이 뜨는데, 적당히 하고 Next를 하면, 대부분의 화면에서는 자동으로 넘어간다.

완료되면 정리된 요약 화면이 뜬다. 해당 서버 설정에 따라 Reboot를 요청하기도 하는데, Reboot를 해주도록 한다.

다시 서버 설치용 도우미 화면으로 돌아가도록 한다. 그리고 난 뒤, 이번에는 “New Insatllation or add features to an existing installation” 항목을 클릭한다.

무언가 자동으로 설정을 체크하고 자동으로 휙휙 넘어간다. EUL 화면이 뜨면 반드시 승인하고 넘어가도록 한다.

그러면 아래와 같은 선택화면이 나오는데, 모두 선택하도록 하자. 굳이 분리해서 구성할 정도로 옵션이 많지도 않기 때문에, 체크 박스 모두 선택한 뒤 Next를 클릭한다.

다음은 SQL의 인스턴스를 선택하는 부분인데, 여기서는 기존에 있는 인스턴스에 덧붙이는 형태로 한다. 그래서 선택 버튼에서도 Named Instance로 선택되어 있다. 특별히 변경하지 않고 그대로 진행한다.

다음은 서비스 동작 계정인데, 이 부분 역시 기본값으로 둔다.

이부분은 SQL 인증 방식인데, 만일 원격에서(다른 PC에서)해당 SQL DB를 열여볼 일이 있다면,반드시 아래 화면과 같이 설정한다. Windows authentication mode는 AD 계정이 아닌 이상 내부에서 밖에는 열 수가 없다. 그러므로 반드시 Mixed Mode를 선택하도록 한다. 그리고 암호를 설정한다.

같은 화면의 탭에서 FILESTREAM을 선택하는데, 여기 안의 모든 항목을 체크하도록 한다.

Next를 클릭하면, 역시 오류 사항 자동 보고 인데 역시 그냥 두고 Next

자동으로 구성되면서 무엇인가 열심히 설치된다.

완료되면 완료 보고 페이지가 뜬다.

 

SharePoint Foundation 구성

이제 본격적인 SharePoint 구성이다. 원래 이 부분은 Server Farm 인 경우 복잡다단하게 되지만, Standalone으로 하는 경우에는 대부분의 설정이 자동으로 구성되기 때문에, 지켜 바라만 봐도 된다.

실행 방법은 Start –> All Programs –> Microsoft SharePoint 2010 Product 에 있는 SharePoint 2010 Products Configuration Wizard 를 실행하면 된다.

간단한 형태의 마법사가 뜬다.

Next를 누르면 경고 메시지가 뜨는데, 그냥 Yes를 클릭한다. 이 작업에서 자동으로 설정되고, 자동으로 껏다가 켜지는 항목들을 나열하는 부분인데, 운영 중이 아닌 경우에는 무시해도 되는 항목들이다.

이제 설치를 가만히 지켜본다.

완료되면 Finish를 클릭한다. 그러면 자동으로 만들어진 웹사이트가 뜬다. 웹사이트 주소는 http://컴퓨터이름 이다.

현재 로그인한 계정의 ID와 암호로 로그인하면 된다.

 

간단하게 구성한 SharePoint는 여기까지. 설치 작업은 예전 WSS 3.0 보다 훨씬 간단해지고, 단순해진 것 같다.
더욱이 자동적으로 설치 환경을 꾸며주는 기능은 칭찬을 주고 싶다.

이 외에도 실제로 활용하려면, 몇몇 부분을 손봐야 겠지만, 당장 사용하는데에는 큰 문제가 없을 것이다.

728x90
블로그 이미지

하인도1

[하인드/하인도/인도짱 의 홈페이지] 저만의 공간입니다. 다양한 소재들을 나열하는 아주 단순 무식한 홈페이지 입니다. 다양한 문서 자료도 있겠지만, 저의 푸념들도 있답니다.

SharePoint 2010에서 WCF 인터페이스 구축하기.

기술자료/.NET 2011. 9. 23. 12:22

예전 2007 시절에는 asmx 파일을 적당히 올려서 웹서비스를 구축했다. 특히 javascript를 이용해서 데이터를 전달할 때는 aspx 파일로 적당히 만들어 JSON으로 Return 하는 식으로 만들곤 했다. 그런데, 이번에 SharePoint 2010으로 넘어오면서 기존에 Copy&Paste 식의 배포가 아닌 SharePoint 솔루션 방식으로 하다 보니, 위의 방식으로 하기에는 왠지 폼이 나지 않았다. 게다가 WCF 라는 나름 유연한 통신 방식을 활용하고 싶다는 생각도 들었다.

그래서 WCF 인터페이스를 어떻게 WSP로 싸서 업로드 하고 그 내용을 Client를 통해 제어를 하는지 살펴보려고 한다.

이 모든 작업은 SharePoint 2010 을 기준으로 하며, 개발 도구는 Visual Studio 2010 으로 한다.

 

1. SharePoint Project 만들기.

새 SharePoint Project를 만든다. 템플릿 트리에서는 Visual C# –> SharePoint –> 2010 을 선택하고, 목록에서는 Empty SharePoint Project 를 선택한다. 적당한 위치에 프로젝트 이름과 위치를 결정하고 생성한다.

그리고 난 뒤, 배포 위치를 설정한다.
URL이 있는데, 이 URL은 디버그를 하기 위한 URL이다. 가급적 로컬로 잡는 것이 작업하는데 편하다. 굳이 이 부분의 URL에 연연하지 않아도 된다. 그리고 그 밑에 솔루션 유형을 선택하는 부분이 있는데, 그 중 “Deploy as a farm solution”을 선택한다.

 

WCF를 설치하는 작업은 _vti_bin 과 같은 시스템 쪽 위치의 가상 디렉터리를 활용할 예정이기 때문에, 제한된 형태로 구성되는 Sandboxed solution 으로는 무리가 있다. 그러므로 farm solution 으로 선택한다.

다 구성되면 다음과 같은 솔루션 구성을 보여준다.

 

2. WCF 파일 구성.

먼저 WCF 파일을 담을 위치를 구성한다. 구성하는 방법은 배포용 폴더 위치를 추가해주면 된다. 웹 서비스나, WCF와 같은 외부 노출된 실행 모듈은 대부분 /_vti_bin 에 위치해 있다. 이 폴더는 SharePoint 설정 및 도구가 있는 14 폴더 중 ISAPI 이다. ( 예 C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\ISAPI )

배포 도구에서 해당 위치에 파일을 하기 위해서는 해당 배포 위치를 구성해줘야 하는데, 배포 폴더를 하나 추가해줘야 한다. 추가하려면, 프로젝트 위에서 오른쪽 클릭을 해서 Context Menu를 띄운다. 그리고, Add –> SharePoint Mapped Folder... 를 선택한다.

SharePoint Mapped Folder를 클릭하면, Add SharePoint Mapped Folder 창이 뜨면, 그 중에 ISAPI를 선택한다.

이제 WCF용 파일들을 만들어야 된다. 이 파일들을 직접 cs 파일들과 svc 파일을 만들어도 되지만, WCF 프로젝트를 잠시 추가해서 템플릿을 받아 사용하는 것이 좋다.

솔루션에서 새로운 프로젝트를 추가하고, 프로젝트 중에서 WCF Service Library를 선택한다.
 

템플릿을 통해 만들어진 다음 2개의 파일을 SharePoint의 프로젝트에 복사한다.

  • Service1.cs
  • IService.cs

적당한 폴더를 만들어 구성할 수도 있고, 아니면 프로젝트 루트에 복사할 수도 있다.

이 파일은 WCF를 구성하기 위한 구성요소들로 IService.cs는 Contract를 담당하는 Interface 파일과 다른 하나는 그 Contract를 구현하는 구현 코드가 담기는 파일이다. 그 내용은 다음과 같다.

IService1.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text;

namespace WcfServiceLibrary1
{
    // NOTE: You can use the "Rename" command on the "Refactor" menu to change the interface name "IService1" in both code and config file together.
    [ServiceContract]
    public interface IService1
    {
        [OperationContract]
        string GetData(int value);

        [OperationContract]
        CompositeType GetDataUsingDataContract(CompositeType composite);

         // TODO: Add your service operations here
    }

    // Use a data contract as illustrated in the sample below to add composite types to service operations
    [DataContract]
    public class CompositeType
    {
        bool boolValue = true;
        string stringValue = "Hello ";

        [DataMember]
        public bool BoolValue
        {
             get { return boolValue; }
             set { boolValue = value; }
        }

        [DataMember]
        public string StringValue
        {
              get { return stringValue; }
              set { stringValue = value; }
        }
    }
}

Service1.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text;

namespace WcfServiceLibrary1
{
    // NOTE: You can use the "Rename" command on the "Refactor" menu to change the class name "Service1" in both code and config file together.
    public class Service1 : IService1
    {
        public string GetData(int value)
        {
            return string.Format("You entered: {0}", value);
        }

        public CompositeType GetDataUsingDataContract(CompositeType composite)
        {
            if (composite == null)
            {
                throw new ArgumentNullException("composite");
            }
            if (composite.BoolValue)
            {
                composite.StringValue += "Suffix";
            }
            return composite;
        }
    }
}

적당한 위치에 추가하면 다음과 같은 솔루션 구성을 볼 수 있다.

지금까지 구성한 내용은 WCF의 알맹이 부분이라면, 이제 외부에 노출되는 페이지를 만들어야 한다. 즉 ASMX나 ASPX 파일을 만들어야 되는 것이다. WCF에서는 이런 역할을 하는 파일이 SVC 파일이다. 그러나 현재 SharePoint 템플릿에서는 SVC 파일을 독자적으로 추가할 수 없으므로, 텍스트 파일로 추가하여 확장자를 SVC로 변경하는 것이다.

이제 새롭게 열린 파일 안에 다음과 같은 항목을 추가한다.

<%@ ServiceHost Language="C#" Debug="true"
Factory="Microsoft.SharePoint.Client.Services.MultipleBaseAddressBasicHttpBindingServiceHostFactory
,Microsoft.SharePoint.Client.ServerRuntime, Version=14.0.0.0, Culture=neutral
, PublicKeyToken=71e9bce111e9429c"
Service="WcfServiceLibrary1.Service1, $SharePoint.Project.AssemblyFullName$" %>

위의 내용을 추가할 때, Service 항목 내에 위에서 추가한 WCF 메인 모듈의 네임스페이스와 클래스이름을 연결해서 구성한다. (필자는 특별히 바꾼게 없으므로 위와 같이 적었다.)

 

3. 참조(References) 구성

지금까지 파일들을 추가했으면, 이제 WCF를 구성하기 위해 필요한 DLL 참조를 구성해야 한다.

  1. System.ServiceModel
  2. System.ServiceModel.Web
  3. System.Runtime.Serialization
  4. Micosoft.SharePoint.Client.ServerRuntime

1, 2, 3번은 Add Reference를 한 뒤, .NET 탭에서 찾으면 금방 찾을 수 있다. 그런데, 문제는 4번 Assembly다. 저 Assembly는 .NET이나, COM에서 절대 찾을 수 없다. 직접 Folder를 따라가는 수 밖에 없다. 이를 위해서는 Browse 탭으로 넘어간다.

그리고 난 뒤, C:\ –> Windows –> Assembly –> GAC_MSIL –> Micosoft.SharePoint.Client.ServerRuntime –> 14.0.0.0__71e9bce111e9429c –> Microsoft.SharePoint.Client.ServerRuntime.dll 로 들어가서 Microsoft.SharePoint.Client.ServerRuntime.dll을 선택한다.

 

4. Attribute 설정하기.

원래 WCF에서 Address 설정부터, Binding, 인증 처리 등을 설정하기 위해서는 web.config를 통해서 설정하게 된다. 그런데, 현재 구성하려는 SharePoint 패키지 프로젝트에서는 특정 web.config 부분을 일일히 수정할 수 없다. 그것을 .NET Attribute 기능을 이용해서 적용할 수 있다.

이 부분은 구현하는 CS 파일( 위의 예제로 보면, Service1.cs 파일 )에서 적용한다.
여기서 사용하는 Attribute는 BasicHttpBindingServiceMetadataExchangeEndpointAttribute 와 AspNetCompatibilityRequirements 를 사용한다.

적용하는 코드 부분만을 보면 아래와 같다.

Service1.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text;
using Microsoft.SharePoint.Client.Services;
using System.ServiceModel.Activation;
using Microsoft.SharePoint.Security;

namespace WcfServiceLibrary1
{

   [BasicHttpBindingServiceMetadataExchangeEndpointAttribute]
    [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Required)]   
    public class Service1 : IService1
    {
         public string GetData(int value)
         {
              return string.Format("You entered: {0}", value);
         }

         public CompositeType GetDataUsingDataContract(CompositeType composite)
         {
              if (composite == null)
              {
                       throw new ArgumentNullException("composite");
               }
               if (composite.BoolValue)
               {
                       composite.StringValue += "Suffix";
               }
               return composite;
          }
     }
}

using으로 세가지를 추가하고, class 위에 attribute로 두 개를 추가해주면 된다.

 

5. 프로젝트 파일 설정 변경.

프로젝트 자체가 SharePoint 구성요소에 대한 설정만 자동으로 추가된다. 그래서 WCF의 svc 파일 처리가 불가능하다. 이를 위해서는 수동적인 방법을 통해서 처리해야 한다.

먼저 SharePoint 프로젝트를 Text 파일로 열어 그 안의 XML 파일을 연다. csproj 파일을 메모장 같은 도구로 열면 된다. 그리고 Project –>PropertyGroup 엘리멘트 안에 <TokenReplacementFileExtensions>svc</TokenReplacementFileExtensions> 라는 엘리멘트를 추가하면 된다.

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
    <SchemaVersion>2.0</SchemaVersion>
    <ProjectGuid>{6EDE3191-D412-4B0A-917A-09BA91DAD509}</ProjectGuid>
    <OutputType>Library</OutputType>
    <AppDesignerFolder>Properties</AppDesignerFolder>
    <RootNamespace>Nocson.EzSearch</RootNamespace>
    <AssemblyName>Nocson.EzSearch</AssemblyName>
    <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
    <FileAlignment>512</FileAlignment>
    <ProjectTypeGuids>{BB1F664B-9266-4fd6-B973-E1E44974B511};{14822709-….</ProjectTypeGuids>
    <SandboxedSolution>False</SandboxedSolution>
    <TokenReplacementFileExtensions>svc</TokenReplacementFileExtensions>
    <SccProjectName>SAK</SccProjectName>
    <SccLocalPath>SAK</SccLocalPath>
    <SccAuxPath>SAK</SccAuxPath>
    <SccProvider>SAK</SccProvider>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
    <De…

저장한 뒤에 해당 프로젝트를 다시 로드 한다.

 

6. 배포 하고 테스트.

SharePoint 프로젝트의 특징은 역시 자동으로 .WSP라는 SharePoint 솔루션으로 만들어 주고 그것을 Debug로 설정한 사이트로 자동으로 업로드 해준다.

배포가 성공적으로 되면 웹사이트에서 http://localhost/_vti_bin/WCFTest.svc/MEX 를 입력한다.(꼭 맨 뒤에 /MEX가 있어야 정상적으로 접속이 가능하다.)

정상적으로 읽어오면 아래와 같은 화면이 뜬다.

 

7. 정리

이 연결하는 작업을 전부 수동으로 만들면 그리 문제 없이 설정하고 구성할 수 있다. 하지만, SharePoint의 솔루션으로 포함시켜서 만들려면 몇 가지 씩 손봐야 된다. 그런데도 굳이 SharePoint의 솔루션으로 작업하는 이유는 나중에 Uninstall이나 업그레이드를 보다 간단하게 수행할 수 있기 때문이다.

위의 글들은 아래의 문서들을 참고로 직접 적용 후 정리했다.

  • Creating a Custom WCF Service in SharePoint Foundation
    ( http://msdn.microsoft.com/en-us/library/ff521581.aspx )
  • SharePoint 2010: Create Custom WCF Service
    ( http://ranaictiu-technicalblog.blogspot.com/2011/03/sharepoint-2010-create-custom-wcf.html )
  • Customizing WCF Services in SharePoint 2010
    ( http://answers.oreilly.com/topic/1404-how-to-customize-wcf-services-in-sharepoint-2010/ )
  • WCF 확장
    ( http://msdn.microsoft.com/ko-kr/library/ms733848(VS.90).aspx )
728x90
블로그 이미지

하인도1

[하인드/하인도/인도짱 의 홈페이지] 저만의 공간입니다. 다양한 소재들을 나열하는 아주 단순 무식한 홈페이지 입니다. 다양한 문서 자료도 있겠지만, 저의 푸념들도 있답니다.

SharePoint 2010 사용하기 - 0

기술자료/.NET 2011. 9. 7. 08:21

전에 Windows SharePoint Service 3.0 으로 협업을 해보자라는 글을 올린 적이 있다. 그 때 SharePoint 개발 회사에서 그만 두고 난 뒤 더 이상 쓰질 못했다. 물론 직접 돌려보면서 이런 저런 사용방법을 적을 수도 있지만, 너무 게으른 성품 때문에 결국 다 쓰지 못한 채 연재를 더 이상하지 못했다.

그 즈음 SharePoint 2010 이 나오고 있었고, 지금은 공식 판매 한지 벌써 1년 정도 지났다. 지금은 다시 회사를 옮기게 되었고, 어찌 어찌 하다 보니, 다시 SharePoint를 만지게 되었다. 오랜만에 SharePoint를 만지다 보니까, 예전 2007 시절에서 사용하던 방법은 더 이상 활용하기가 무리가 있다고 생각된다. 그래서 지금은 완전히 처음부터 다시 만진다는 느낌으로 하나씩 손 대보려고 한다.

그런데 지금 주 거래처가 미쿡이다 보니, 지금 사용하는 SharePoint는 영문판이다.
그래서 캡쳐되는 화면도 영문판으로 진행될 것 같다.

image

728x90
블로그 이미지

하인도1

[하인드/하인도/인도짱 의 홈페이지] 저만의 공간입니다. 다양한 소재들을 나열하는 아주 단순 무식한 홈페이지 입니다. 다양한 문서 자료도 있겠지만, 저의 푸념들도 있답니다.

  • «
  • 1
  • »
250x250

블로그 내에 소스 코드 삽입 이사온 기념 스킨도... RSS 전문 기능 비활성화 관련. 스킨 바꾸어 보았습니다. 서버 파일 정리 좀 했습니다.

«   2011/09   »
일 월 화 수 목 금 토
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

친구 Google Apps Engine Tutorial moss 지름신 windows 것 비스킷 twi2me 블로그 e-book 수 me2sms Visual Studio 협업 me2photo 개발환경 불만 MOSS 2007 WSS java 좀 Azure 오류 Buscuit 인터파크 매뉴얼 SharePoint me2dayzm 2010

  • Total :
  • Today :
  • Yesterday :

Copyright © 2015-2025 Socialdev. All Rights Reserved.

Copyright © 2015-2025 Socialdev. All Rights Reserved.

티스토리툴바