어떤 통신 프로그래밍에서든지 Communication 기능을 작성하기 위해서 하는 공통된 절차가 있다. 초 간단하게 절차를 얘기하자면 다음과 같을 것이다. “서버 프로그램을 작성하고, 서비스를 제공할 수 있는 환경을 구성하고 그런 다음 그것을 인식할 수 있는 클라이언트 프로그램을 작성한다”는 것이다.
“Hello world” WCF 버전을 만들어 봄으로써, 그 첫 경험을 시작해볼려고 한다. 먼저 WCF 서비스를 작성해서 활용하는 절차를 요약한다.(물론 Visual Studio.NET을 사용하면 훨씬 더 간단해진다. )
l WCF 서비스 컨트랙트(Service Contract)용어정의 참조 : 서비스 컨트랙트'>정의하기 1
- WCF contract는 서비스에서 필요로 하는 타입과 메시지 패턴서비스 메소드를 호출하는 방식으로서 2, request-reply 방식 , one-way 방식, duplex callback 등이 있다. 이것에 대해서는 다음에 포스트를 올릴 기회가 있을 것이다. '>을 정의한다. 서비스 컨트랙트를 정의한다는 WCF 서비스를 설계하는 첫 단계가 된다.
l WCF 서비스 컨트랙트 구현하기
- 서비스 컨트랙트가 정의되었으니, 다음은 그것을 구현하는 단계이다.
l WCF 서비스 구동하기
- 서비스를 제공할 수 있게 되려면, 서비스를 생성하고 그 라이프 사이클을 제어할 수 있는 런타임 프로그램의 호스팅을 받고 환경 설정이 필요하다. 여기서는 컨솔 프로그램을 이용해서 서비스를 호스팅WCF 서비스를 호스팅하는 방법은 다양해졌다 3. IIS를 이용할 수도 있고, 윈도우 서비스를 프로그램을 제작해서 사용할 수도 있다. 이외에 새로운 방법으로 “Self-Hosting” 방법과 WAS(Windows Process Activation Service) 방법이 있다. 우리가 만들 예제에서는 “Self-Hosting” 방법을 이용해서 서비스를 호스팅하게 된다. 이런 호스팅 방법에 대해서도 다음에 정리할 수 있는 기회가 있을 것이다.'>하고 엔드 포인트(endpoint) 4용어정의 참조: endpint '>를 설정하는 방법을 알아볼 것이다.
l WCF 클라이언트 프락시 클래스 및 config 파일 생성
- 자기 호스팅(self-hosted) WCF 서비스에서 WCF 클라이언트 프록시 클래스를 만들기 위해서 사용할 수 있는 메타데이터를 얻게 된다.
l 클라이언트용 config 설정 내용 리뷰
- Config에 설정하는 항목들에대해서 리뷰하는 단계이다.
l WCF 프록시 파일 사용하기
- 클라이언트 애플리케이션에서 프록시 클래스를 사용하는 코드를 본다.
다음 예제를 따라하기 위해서는 .NET 3.0이 설치되어 있어야 한다. PC 세팅에 대해서는 지난 포스트를 참조한다.
1. WCF 서비스 컨트랙트 정의하기
프로젝트 형식 : Visual C# -> 템플릿 : WCF Service Library 를 선택해서 새 프로젝트 추가한다.
<그림1>
using System; using System.ServiceModel; namespace WCFService { // Service Contralct 정의하기 [ServiceContract(Namespace = "http://dalbong.ServiceModel.Samples")] public interface IHelloService { [OperationContract] string Hello(); } } |
2. WCF 서비스 컨트랙트 구현하기
using System; using System.ServiceModel; namespace WCFService { // Service Contralct 정의하기 [ServiceContract(Namespace = "http://dalbong.ServiceModel.Samples")] public interface IHelloService { [OperationContract] string Hello(); } // Service Contract를 구현하는 서비스 클래스 public class HelloService : IHelloService { public string Hello() { return "Hello World"; } } } |
- '[본문으로]
- '[본문으로]
- '[본문으로]
- '[본문으로]
'IT 살이 > 04. 기술 - 프로그래밍' 카테고리의 다른 글
[연재 03] Hello world WCF 버전 2 (0) | 2009.04.23 |
---|---|
[연재 01] WCF 연재를 시작하면서... (0) | 2009.04.23 |
MSDN Magazine 한글판 (0) | 2009.04.23 |