방법: 클래스를 사용하여 Windows Communication Foundation 계약 만들기
WCF(Windows Communication Foundation) 계약을 만드는 기본 방법은 인터페이스를 사용하는 것입니다. 자세한 내용은 방법: 서비스 계약 정의를 참조하세요. 또는 다음에 요약한 대로 클래스를 만든 후 ServiceContractAttribute 특성을 직접 해당 클래스에 적용하고 OperationContractAttribute 특성을 계약의 일부인 클래스의 각 메서드에 적용합니다.
Warning
[ServiceContract]
및 [ServiceContractAttribute]
에 대해 동일한 작업을 수행합니다. 같은 기준이 [OperationContract]
및 [OperationContractAttribute]
에도 적용됩니다. 각 경우 전자가 후자보다 빠릅니다.
서비스 계약에 대한 자세한 내용은 서비스 계약 디자인을 참조하세요.
클래스를 사용하여 Windows Communication Foundation 계약 만들기
Visual Basic, C# 또는 기타 공용 언어 런타임 언어를 사용하여 새 클래스를 만듭니다.
이 클래스에 ServiceContractAttribute 클래스를 적용합니다.
클래스에 메서드를 만듭니다.
퍼블릭 WCF 계약의 일부로서 노출해야 하는 각 메서드에 OperationContractAttribute 클래스를 적용합니다.
예시
다음 코드 예제에서는 서비스 계약을 정의하는 클래스를 보여 줍니다.
[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;
}
}
<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
OperationContractAttribute 클래스가 적용된 메서드는 기본적으로 요청-회신 메시지 패턴을 사용합니다. 이 메시지 패턴에 대한 자세한 내용은 방법: Request-Reply 계약 만들기를 참조하세요. 특성의 속성을 설정하여 다른 메시지 패턴을 만들고 사용할 수도 있습니다. 자세한 예제는 방법: One-Way 계약 만들기 및 방법: 이중 계약 만들기를 참조하세요.