이 문서는 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 서비스 선택.
2. 웹위치를 HTTP로 선택.3. 찾아보기 버튼을 클릭 후 로컬 IIS 에서 새로운 웹 응용프로그램 생성(Local에서 서비스 할경우)
4. 성공적으로 추가하면 비주얼스튜디오 솔루션 탐색기에 아래와 같은 웹사이트 프로젝트가 추가됩니다.
5. 실제로 WCF 서비스가 잘 구동하고 있는지 확인하기 위해 웹브라우저에서 서비스 주소에 Service.svc를 붙여서 서비스가 만들어져 있는지 확인합니다.
6. 화면에서 http://서비스주소/Service.svc?wdsl 링크를 클릭하여 xml 내용이 잘 출력되는지 확인합니다.
WCF 웹 사이트 설정
최초로 만든 WCF 서비스에는 MS에서 제공하는 기본 인터페이스 및 서비스 계약등이 자동으로 만들어져 있기 때문에 구현하고자하는 기능에 맞게 수정을 해야합니다.
1. 프로젝트에서 생성된 Web.config 파일을 열어서 serviceHostingEnvironment node 부분을 서비스의 기능에 맞게 이름을 바꾸어줍니다.
Service = “네임스페이스명.서비스클래스명”
2. App_Code 폴더의 클래스 파일 구조를 다음과 같이 만듭니다.
3. Service.cs 의 네임스페이스를 서비스 프로젝트에 맞는 이름으로 변경합니다.
4. ServiceContract에 클라이언트에게 제공할 서비스 인터페이스를 구현합니다.
5. 해당 인터페이스를 상속받는 서비스 클래스를 아래와 같이 생성합니다.
9. ServicePacket.cs 에는 데이터를 주고 받을 수 있도록 아래와 같은 형식의 DataContract 를 구현합니다.
클라이언트에서의 WCF 설정 참조 및 이용
1. 비주얼 스튜디오에서 새로운 프로젝트를 생성 후 서비스 참조를 추가합니다.
2. 참조 추가 창이 나타난 후 현재 프로젝트에 WCF 설정 서비스가 존재하고 있으면 검색버튼을 선택하여 서비스를 조회하고 원격지에 서비스가 있다면 주소에 원격지 주소를 입력하고 이동 버튼을 클릭하여 조회합니다.
3. 네임스페이스에 해당 서비스의 네임스페이스를 입력하고 확인버튼을 클릭하여 참조합니다.
4. 참조된 후에는 이제 클라이언트 코드에서 해당 서비스의 ServiceClient를 인스턴스화 한 다음 ServiceContract에 있는 메소드를 쓸 수 있습니다.