방법: 클래스를 사용하여 Windows Communication Foundation 계약 만들기
WCF(Windows Communication Foundation) 계약을 만드는 기본 방법은 인터페이스를 사용하는 것입니다. 자세한 내용은 다음 항목을 참조하십시오. 방법: Windows Communication Foundation 서비스 계약 정의를 참조하십시오. 또는 다음에 요약한 대로 클래스를 만든 후 ServiceContractAttribute 클래스를 직접 해당 클래스에 적용하고 OperationContractAttribute 클래스를 계약의 일부인 클래스의 각 메서드에 적용합니다.
서비스 계약에 대한 자세한 내용은 서비스 계약 디자인을 참조하십시오.
클래스를 사용하여 Windows Communication Foundation 계약 만들기
Visual Basic, C# 또는 기타 공용 언어 런타임 언어를 사용하여 새 클래스를 만듭니다.
이 클래스에 ServiceContractAttribute 클래스를 적용합니다.
클래스에 메서드를 만듭니다.
공용 WCF 계약의 일부로서 노출해야 하는 각 메서드에 OperationContractAttribute 클래스를 적용합니다.
예제
다음 코드 예제에서는 서비스 계약을 정의하는 클래스를 보여 줍니다.
<ServiceContract()> _
Public Class CalculatorService
<OperationContract()> _
Public Function Add(ByVal n1 As Double, ByVal n2 As Double) As Double
Return n1 + n2
End Function
<OperationContract()> _
Public Function Subtract(ByVal n1 As Double, ByVal n2 As Double) As Double
Return n1 - n2
End Function
<OperationContract()> _
Public Function Multiply(ByVal n1 As Double, ByVal n2 As Double) As Double
Return n1 * n2
End Function
<OperationContract()> _
Public Function Divide(ByVal n1 As Double, ByVal n2 As Double) As Double
Return n1 / n2
End Function
End Class
[ServiceContract]
public class CalculatorService
{
[OperationContract]
public double Add(double n1, double n2)
{
return n1 + n2;
}
[OperationContract]
public double Subtract(double n1, double n2)
{
return n1 - n2;
}
[OperationContract]
public double Multiply(double n1, double n2)
{
return n1 * n2;
}
[OperationContract]
public double Divide(double n1, double n2)
{
return n1 / n2;
}
}
OperationContractAttribute 클래스가 적용된 메서드는 기본적으로 요청-회신 메시지 패턴을 사용합니다. 이 메시지 패턴에 대한 자세한 내용은 방법: 요청-회신 계약 만들기를 참조하십시오. 특성의 속성을 설정하여 다른 메시지 패턴을 만들고 사용할 수도 있습니다. 예제에 대해서는 방법: 단방향 계약 만들기 및 방법: 이중 계약 만들기를 참조하십시오.