Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Topik ini menunjukkan langkah-langkah dasar untuk membuat metode yang menggunakan kontrak satu arah. Metode tersebut memanggil operasi pada layanan Windows Communication Foundation (WCF) dari klien tetapi tidak mengharapkan balasan. Jenis kontrak ini dapat digunakan, misalnya, untuk menerbitkan pemberitahuan kepada banyak pelanggan. Anda juga dapat menggunakan kontrak satu arah saat membuat kontrak dupleks (dua arah), yang memungkinkan klien dan server berkomunikasi satu sama lain secara independen sehingga dapat memulai panggilan ke yang lain. Ini dapat memungkinkan, khususnya, server untuk melakukan panggilan satu arah ke klien yang dapat diperlakukan klien sebagai peristiwa. Untuk mengetahui informasi mendetail tentang menentukan metode satu arah, lihat properti IsOneWay dan kelas OperationContractAttribute.
Untuk mengetahui informasi selengkapnya tentang membuat aplikasi klien untuk kontrak dupleks, lihat Cara: Mengakses Layanan dengan Kontrak Satu Arah dan Permintaan-Balasan. Untuk sampel yang berfungsi, lihat sampel Satu Arah.
Untuk membuat kontrak satu arah
Buat kontrak layanan dengan menerapkan kelas ServiceContractAttribute ke antarmuka yang menentukan metode yang akan diterapkan layanan.
Menunjukkan metode mana dalam antarmuka yang dapat dipanggil klien dengan menerapkan kelas OperationContractAttribute ke metode tersebut.
Tentukan operasi yang tidak boleh memiliki output (tidak ada nilai pengembalian dan tidak ada parameter keluar atau ref) sebagai satu arah dengan mengatur properti IsOneWay ke
true. Perhatikan bahwa operasi yang membawa kelas OperationContractAttribute memenuhi kontrak balasan permintaan secara default karena properti IsOneWay merupakanfalsesecara default. Jadi, Anda harus secara eksplisit menentukan nilai properti atribut menjaditruejika menginginkan kontrak satu arah untuk metode tersebut.
Contoh
Contoh kode berikut mendefinisikan kontrak untuk layanan yang menyertakan beberapa metode satu arah. Semua metode memiliki kontrak satu arah kecuali Equals, yang default untuk meminta balasan dan menampilkan hasil.
[ServiceContract(Namespace="http://Microsoft.ServiceModel.Samples", SessionMode=SessionMode.Required)]
public interface ICalculatorSession
{
[OperationContract(IsOneWay=true)]
void Clear();
[OperationContract(IsOneWay = true)]
void AddTo(double n);
[OperationContract(IsOneWay = true)]
void SubtractFrom(double n);
[OperationContract(IsOneWay = true)]
void MultiplyBy(double n);
[OperationContract(IsOneWay = true)]
void DivideBy(double n);
[OperationContract]
double Equals();
}
<ServiceContract(Namespace:="http://Microsoft.ServiceModel.Samples", SessionMode:=SessionMode.Required)> _
Public Interface ICalculatorSession
<OperationContract(IsOneWay:=True)> _
Sub Clear()
<OperationContract(IsOneWay:=True)> _
Sub AddTo(ByVal n As Double)
<OperationContract(IsOneWay:=True)> _
Sub SubtractFrom(ByVal n As Double)
<OperationContract(IsOneWay:=True)> _
Sub MultiplyBy(ByVal n As Double)
<OperationContract(IsOneWay:=True)> _
Sub DivideBy(ByVal n As Double)
<OperationContract()> _
Function Equal() As Double
End Interface