Bagikan melalui


Cara: Membuat Kontrak Permintaan-Balasan

Kontrak permintaan-balasan menentukan metode yang mengembalikan balasan. Balasan harus dikirim dan berkorelasi dengan permintaan berdasarkan ketentuan kontrak ini. Meskipun metode tidak mengembalikan balasan (void di C#, atau Sub di Visual Basic), infrastruktur membuat dan mengirim pesan kosong ke pemanggil. Untuk mencegah pengiriman pesan balasan kosong, gunakan kontrak satu arah untuk operasi.

Untuk membuat kontrak permintaan-balasan

  1. Buat antarmuka dalam bahasa pemrograman pilihan Anda.

  2. Terapkan atribut ServiceContractAttribute ke antarmuka.

  3. Terapkan atribut OperationContractAttribute ke setiap metode yang dapat dipanggil klien.

  4. Opsional. Atur nilai properti IsOneWay ke true untuk mencegah pengiriman pesan balasan kosong. Secara default, semua operasi adalah kontrak permintaan-balasan.

Contoh

Sampel berikut mendefinisikan kontrak untuk layanan kalkulator yang menyediakan metode Add dan Subtract. Metode Multiply bukan bagian dari kontrak karena tidak ditandai oleh kelas OperationContractAttribute dan sehingga tidak dapat diakses oleh klien.

using System.ServiceModel;

[ServiceContract]
public interface ICalculator
{
    [OperationContract]
    // It would be equivalent to write explicitly:
    // [OperationContract(IsOneWay=false)]
    int Add(int a, int b);

    [OperationContract]
    int Subtract(int a, int b);

    int Multiply(int a, int b)
}
  • Untuk mengetahui informasi selengkapnya tentang cara menentukan kontrak operasi, lihat kelas OperationContractAttribute dan properti IsOneWay.

  • Menerapkan atribut ServiceContractAttribute dan OperationContractAttribute menyebabkan pembuatan otomatis definisi kontrak layanan dalam dokumen Bahasa Deskripsi Layanan Web (WSDL) setelah layanan disebarkan. Dokumen diunduh dengan menambahkan ?wsdl ke alamat dasar HTTP untuk layanan. Misalnya: http://microsoft/CalculatorService?wsdl

Lihat juga