Bagikan melalui


Cara: Membuat Kontrak Windows Communication Foundation dengan Kelas

Cara yang disukai untuk membuat kontrak Windows Communication Foundation (WCF) adalah dengan menggunakan antarmuka. Untuk informasi selengkapnya, lihat Cara: Menentukan Kontrak Layanan. Alternatif, yang diuraikan di sini, adalah membuat kelas dan kemudian menerapkan atribut ServiceContractAttribute ke kelas secara langsung dan atribut OperationContractAttribute ke masing-masing metode di kelas yang merupakan bagian dari kontrak.

Peringatan

[ServiceContract] dan [ServiceContractAttribute] melakukan hal yang sama. Hal yang sama berlaku untuk [OperationContract] dan [OperationContractAttribute]. Dalam setiap kasus, yang pertama merupakan singkatan untuk yang terakhir.

Untuk informasi selengkapnya tentang kontrak layanan, lihat Merancang Kontrak Layanan.

Membuat kontrak Windows Communication Foundation dengan kelas

  1. Buat kelas baru menggunakan Visual Basic, C#, atau bahasa runtime bahasa umum lainnya.

  2. Terapkan kelas ServiceContractAttribute ke kelas.

  3. Buat metode di kelas.

  4. Terapkan kelas OperationContractAttribute ke setiap metode yang harus diekspos sebagai bagian dari kontrak WCF publik.

Contoh

Contoh kode berikut menunjukkan kelas yang menentukan kontrak layanan.

[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

Metode yang menerapkan kelas OperationContractAttribute menggunakan pola pesan balasan permintaan secara default. Untuk informasi selengkapnya tentang pola pesan ini, lihat Cara: Membuat Kontrak Balasan Permintaan. Anda juga dapat membuat dan menggunakan pola pesan lain dengan mengatur properti atribut. Untuk contoh lainnya, lihat Cara: Membuat Kontrak Satu Arah dan Cara: Membuat Kontrak Dupleks.

Lihat juga