방법: Windows Communication Foundation 서비스 계약 정의
이 작업은 기본 WCF(Windows Communication Foundation) 서비스와 이 서비스를 호출할 수 있는 클라이언트를 만드는 데 필요한 6가지 작업 중 첫 번째입니다. 6가지 작업의 개요를 모두 보려면 초보자를 위한 자습서 항목을 참조하십시오.
기본 WCF 서비스를 만들 때 첫 번째 작업은 계약을 정의하는 것입니다. 계약은 서비스가 지원하는 작업을 지정합니다. 작업은 웹 서비스 메서드로 간주될 수 있습니다. C++, C# 또는 VB 인터페이스를 정의하여 계약을 만듭니다. 인터페이스의 각 메서드는 특정 서비스 작업에 해당합니다. 각 인터페이스에는 ServiceContractAttribute가 적용되어야 하고 각 작업에는 OperationContractAttribute가 적용되어야 합니다. ServiceContractAttribute를 포함하는 인터페이스 내에 있는 메서드에 OperationContractAttribute가 없으면 해당 메서드가 노출되지 않습니다.
이 작업에 사용되는 코드는 이 절차 다음에 나오는 예제에 제공되어 있습니다.
인터페이스를 사용하여 Windows Communication Foundation 계약을 만들려면
시작 메뉴에서 Visual Studio 2008를 마우스 오른쪽 단추로 클릭한 다음 관리자 권한으로 실행을 선택하여 해당 프로그램을 관리자로 엽니다.
콘솔 응용 프로그램 프로젝트를 새로 만듭니다. 새 프로젝트 대화 상자에서 Visual Basic 또는 **Visual C#**을 선택하고 콘솔 응용 프로그램 템플릿을 선택한 다음 이름을 Service로 지정합니다. 기본 위치를 사용합니다.
기본
Service
네임스페이스를Microsoft.ServiceModel.Samples
로 변경합니다.다음과 같이 System.ServiceModel.dll에 대한 참조를 프로젝트에 추가합니다.
- 솔루션 탐색기의 프로젝트 폴더 아래에서 참조 폴더를 마우스 오른쪽 단추로 클릭하고 참조 추가를 선택합니다.
- 참조 추가 대화 상자에서 찾아보기 탭을 클릭하고 c:\Windows\Microsoft.Net\Framework\v3.0\Windows Communication Foundation을 탐색하고 System.ServiceModel.dll을 선택한 다음 확인을 클릭합니다.
참고
Csc.exe 또는 Vbc.exe와 같은 명령줄 컴파일러를 사용하는 경우 어셈블리의 경로도 제공해야 합니다. 기본적으로 예를 들어 Windows Vista를 실행하는 컴퓨터에서 경로는 Windows\Microsoft.NET\Framework\v3.0\Windows Communication Foundation입니다.
System.ServiceModel 네임스페이스에 대한 using 문(Visual Basic의 경우 Imports)을 추가합니다.
ICalculator
라고 하는 새 인터페이스를 정의하고 ServiceContractAttribute 특성을 Namespace 값이 "http://Microsoft.ServiceModel.Samples"인 인터페이스에 적용합니다. 네임스페이스를 명시적으로 지정하면 기본 네임스페이스 값이 계약 이름에 추가되지 않기 때문에 되도록이면 명시적으로 지정하는 것이 좋습니다.참고
특성을 사용하여 인터페이스 또는 클래스에 주석을 달 때 특성 이름에서 "특성" 부분을 삭제할 수 있습니다. 따라서 ServiceContractAttribute가 [ServiceContract]가 됩니다.
ICalculator
계약이 인터페이스 내에서 노출(더하기, 빼기, 곱하기, 나누기)하는 각 작업에 대한 메서드를 선언하고 공용 WCF 계약의 일부로 노출할 각 메서드에 OperationContractAttribute 특성을 적용합니다.
예제
다음 코드 예제에서는 서비스 계약을 정의하는 기본 인터페이스를 보여 줍니다.
이제 인터페이스가 만들어집니다. 프로젝트를 빌드하여 컴파일 오류가 없는지 확인한 다음 방법: Windows Communication Foundation 서비스 계약 구현을 진행하여 인터페이스를 구현합니다. 문제 해결 정보에 대한 자세한 내용은 초보자를 위한 자습서 문제 해결을 참조하십시오.
참고 항목
작업
방법: Windows Communication Foundation 서비스 계약 구현
참조
ServiceContractAttribute
OperationContractAttribute