Aracılığıyla paylaş


Nasıl yapılır: Sınıf ile Windows Communication Foundation Sözleşmesi Oluşturma

Windows Communication Foundation (WCF) sözleşmesi oluşturmanın tercih edilen yolu bir arabirim kullanmaktır. Daha fazla bilgi için bkz . Nasıl yapılır: Hizmet Sözleşmesi Tanımlama. Burada özetlenen bir alternatif, bir sınıf oluşturmak ve ardından özniteliğini doğrudan sınıfa ve OperationContractAttribute özniteliğini sözleşmenin parçası olan sınıftaki yöntemlerin her birine uygulamaktırServiceContractAttribute.

Uyarı

[ServiceContract] ve [ServiceContractAttribute] aynı şeyi yapın. Ve için [OperationContract][OperationContractAttribute]de aynı şey geçerlidir. Her durumda, ilki ikincisinin kısaltmasıdır.

Hizmet sözleşmeleri hakkında daha fazla bilgi için bkz . Hizmet Sözleşmeleri Tasarlama.

Bir sınıfla Windows Communication Foundation sözleşmesi oluşturma

  1. Visual Basic, C# veya diğer ortak dil çalışma zamanı dillerini kullanarak yeni bir sınıf oluşturun.

  2. sınıfını ServiceContractAttribute sınıfına uygulayın.

  3. sınıfında yöntemler oluşturun.

  4. sınıfını OperationContractAttribute , genel WCF sözleşmesinin bir parçası olarak kullanıma sunması gereken her yönteme uygulayın.

Örnek

Aşağıdaki kod örneği, hizmet sözleşmesini tanımlayan bir sınıfı gösterir.

[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

Sınıfın OperationContractAttribute uygulandığı yöntemler varsayılan olarak bir istek-yanıt ileti deseni kullanır. Bu ileti düzeni hakkında daha fazla bilgi için bkz . Nasıl yapılır: İstek-Yanıt Sözleşmesi Oluşturma. Ayrıca özniteliğin özelliklerini ayarlayarak başka ileti desenleri oluşturabilir ve kullanabilirsiniz. Daha fazla örnek için bkz . Nasıl yapılır: Tek Yönlü Sözleşme Oluşturma ve Nasıl yapılır: Çift Yönlü Sözleşme Oluşturma.

Ayrıca bkz.