다음을 통해 공유


방법: 클래스를 사용하여 Windows Communication Foundation 계약 만들기

WCF(Windows Communication Foundation) 계약을 만드는 기본 방법은 인터페이스를 사용하는 것입니다. 자세한 내용은 다음 항목을 참조하십시오. 방법: Windows Communication Foundation 서비스 계약 정의를 참조하십시오. 또는 다음에 요약한 대로 클래스를 만든 후 ServiceContractAttribute 클래스를 직접 해당 클래스에 적용하고 OperationContractAttribute 클래스를 계약의 일부인 클래스의 각 메서드에 적용합니다.

서비스 계약에 대한 자세한 내용은 서비스 계약 디자인을 참조하십시오.

클래스를 사용하여 Windows Communication Foundation 계약 만들기

  1. Visual Basic, C# 또는 기타 공용 언어 런타임 언어를 사용하여 새 클래스를 만듭니다.

  2. 이 클래스에 ServiceContractAttribute 클래스를 적용합니다.

  3. 클래스에 메서드를 만듭니다.

  4. 공용 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 클래스가 적용된 메서드는 기본적으로 요청-회신 메시지 패턴을 사용합니다. 이 메시지 패턴에 대한 자세한 내용은 방법: 요청-회신 계약 만들기를 참조하십시오. 특성의 속성을 설정하여 다른 메시지 패턴을 만들고 사용할 수도 있습니다. 예제에 대해서는 방법: 단방향 계약 만들기방법: 이중 계약 만들기를 참조하십시오.

참고 항목

참조

ServiceContractAttribute
OperationContractAttribute