WCF 설정을 위한 환경 세팅

이 문서는 IIS 6을 기준의 WCF 설정 내용이지만 IIS 7도 이와 유사합니다.

사전지식을 위한 문서를 먼저  SOA (서비스지향아키텍쳐)의 정의를 참조하시면 도움이 됩니다.

 

IIS 6 메타베이스 및 IIS 6 구성 호환성 및 ASP.NET 설치

1. 제어판의 프로그램 추가/제거 에서 Windows 기능 사용/사용안함 선택

2. 인터넷 정보서비스 -> World Wide Web 서비스 -> 응용 프로그램 개발 기능-> ASP.NET 체크

3. 인터넷 정보서비스 -> 웹관리도구 -> IIS 6 관리 호환성 -> IIS 6 메타베이스 및 IIS 6 구성 호환성 체크

4. 확인 버튼을 선택하여 설치.

비주얼스튜디오 프로젝트에 WCF 웹 사이트 추가

1. 프로젝트 추가 새 웹사이트 추가 설치된 템플릿에서 Visual C# 선택 WCF 서비스 선택.
wcf-set1
2. 웹위치를 HTTP로 선택.3. 찾아보기 버튼을 클릭 후 로컬 IIS 에서 새로운 웹 응용프로그램 생성(Local에서 서비스 할경우)

wcf-set2

4. 성공적으로 추가하면 비주얼스튜디오 솔루션 탐색기에 아래와 같은 웹사이트 프로젝트가 추가됩니다.

wcf-set3

5. 실제로 WCF 서비스가 잘 구동하고 있는지 확인하기 위해 웹브라우저에서 서비스 주소에 Service.svc를 붙여서 서비스가 만들어져 있는지 확인합니다.

wcf-set5

6. 화면에서 http://서비스주소/Service.svc?wdsl 링크를 클릭하여 xml 내용이 잘 출력되는지 확인합니다.

wcf-set6

WCF 웹 사이트 설정

최초로 만든 WCF 서비스에는 MS에서 제공하는 기본 인터페이스 및 서비스 계약등이 자동으로 만들어져 있기 때문에 구현하고자하는 기능에 맞게 수정을 해야합니다.

1. 프로젝트에서 생성된 Web.config 파일을 열어서 serviceHostingEnvironment node 부분을 서비스의 기능에 맞게 이름을 바꾸어줍니다.
Service = “네임스페이스명.서비스클래스명”

wcf-set7

2. App_Code 폴더의 클래스 파일 구조를 다음과 같이 만듭니다.

wcf-set8

3. Service.cs 의 네임스페이스를 서비스 프로젝트에 맞는 이름으로 변경합니다.

wcf-set9

4. ServiceContract에 클라이언트에게 제공할 서비스 인터페이스를 구현합니다.

wcf-set10

5. 해당 인터페이스를 상속받는 서비스 클래스를 아래와 같이 생성합니다.

wcf-set11

9. ServicePacket.cs 에는 데이터를 주고 받을 수 있도록 아래와 같은 형식의 DataContract 를 구현합니다.

wcf-set12

클라이언트에서의 WCF 설정 참조 및 이용

1. 비주얼 스튜디오에서 새로운 프로젝트를 생성 후 서비스 참조를 추가합니다.

wcf-set15

2. 참조 추가 창이 나타난 후 현재 프로젝트에 WCF 설정 서비스가 존재하고 있으면 검색버튼을 선택하여 서비스를 조회하고 원격지에 서비스가 있다면 주소에 원격지 주소를 입력하고 이동 버튼을 클릭하여 조회합니다.

set-wcf16

3. 네임스페이스에 해당 서비스의 네임스페이스를 입력하고 확인버튼을 클릭하여 참조합니다.

4. 참조된 후에는 이제 클라이언트 코드에서 해당 서비스의 ServiceClient를 인스턴스화 한 다음 ServiceContract에 있는 메소드를 쓸 수 있습니다.

wcf-set18

댓글 남기기