Bagikan melalui


Mengimplementasikan Kontrak Layanan

Layanan adalah kelas yang mengekspos fungsionalitas yang tersedia untuk klien di satu atau beberapa titik akhir. Untuk membuat layanan, tulis kelas yang mengimplementasikan kontrak Windows Communication Foundation (WCF). Anda dapat melakukannya dengan salah satu dari dua cara ini. Anda dapat menentukan kontrak secara terpisah sebagai antarmuka, lalu membuat kelas yang mengimplementasikan antarmuka tersebut. Atau, Anda dapat membuat kelas dan kontrak secara langsung dengan menempatkan atribut ServiceContractAttribute pada kelas tersebut dan atribut OperationContractAttribute pada metode yang tersedia untuk klien layanan.

Membuat kelas layanan

Berikut ini adalah contoh layanan yang mengimplementasikan kontrak IMath yang telah ditentukan secara terpisah.

// Define the IMath contract.  
[ServiceContract]  
public interface IMath  
{  
    [OperationContract]
    double Add(double A, double B);  
  
    [OperationContract]  
    double Multiply (double A, double B);  
}  
  
// Implement the IMath contract in the MathService class.  
public class MathService : IMath  
{  
    public double Add (double A, double B) { return A + B; }  
    public double Multiply (double A, double B) { return A * B; }  
}  

Atau, layanan dapat mengekspos kontrak secara langsung. Berikut ini adalah contoh kelas layanan yang menentukan dan mengimplementasikan kontrak MathService.

// Define the MathService contract directly on the service class.  
[ServiceContract]  
class MathService  
{  
    [OperationContract]  
    public double Add(double A, double B) { return A + B; }  
    [OperationContract]  
    private double Multiply (double A, double B) { return A * B; }  
}  

Perhatikan bahwa layanan sebelumnya mengekspos kontrak yang berbeda karena nama kontrak berbeda. Dalam kasus pertama, kontrak yang diekspos diberi nama "IMath", sedangkan dalam kasus kedua kontrak diberi nama "MathService".

Anda dapat mengatur beberapa hal di tingkat implementasi layanan dan operasi, seperti konkurensi dan pembuatan instans. Untuk informasi selengkapnya, lihat Merancang dan Mengimplementasikan Layanan.

Setelah mengimplementasikan kontrak layanan, Anda harus membuat satu atau beberapa titik akhir untuk layanan. Untuk informasi selengkapnya, lihat Gambaran Umum Pembuatan Titik Akhir. Untuk informasi selengkapnya tentang cara menjalankan layanan, lihat Menghosting Layanan.

Lihat juga