Bagikan melalui


Imperatif Pengikatan Kustom

Sampel Imperatif menunjukkan cara menulis kode imperatif untuk menentukan dan menggunakan pengikatan kustom tanpa menggunakan file konfigurasi atau klien yang dihasilkan Windows Communication Foundation (WCF). Sampel ini menggabungkan fitur yang disediakan oleh transportasi HTTP dan saluran sesi yang andal untuk membuat pengikatan berbasis HTTP yang andal. Sampel ini didasarkan pada Memulai yang mengimplementasikan layanan kalkulator.

Nota

Prosedur penyiapan dan instruksi build untuk sampel ini terletak di akhir topik ini.

Pada klien dan layanan, pengikatan kustom dibuat yang berisi dua elemen pengikatan (Reliable Session dan HTTP):

ReliableSessionBindingElement reliableSession = new ReliableSessionBindingElement();
reliableSession.Ordered = true;

HttpTransportBindingElement httpTransport = new HttpTransportBindingElement();
httpTransport.AuthenticationScheme = System.Net.AuthenticationSchemes.Anonymous;
httpTransport.HostNameComparisonMode = HostNameComparisonMode.StrongWildcard;

CustomBinding binding = new CustomBinding(reliableSession, httpTransport);

Pada layanan, pengikatan digunakan dengan menambahkan titik akhir ke ServiceHost:

serviceHost.AddServiceEndpoint(typeof(ICalculator), binding, "");

Pada klien, pengikatan digunakan oleh ChannelFactory untuk membuat saluran ke layanan:

EndpointAddress address = new EndpointAddress("http://localhost:8000/servicemodelsamples/service");
ChannelFactory<ICalculator> channelFactory = new ChannelFactory<ICalculator>(binding, address);
ICalculator channel = channelFactory.CreateChannel();

Saluran ini kemudian digunakan untuk berinteraksi dengan layanan:

// Call the Add service operation.
double value1 = 100.00D;
double value2 = 15.99D;
double result = channel.Add(value1, value2);
Console.WriteLine("Add({0},{1}) = {2}", value1, value2, result);

Saat Anda menjalankan sampel, permintaan dan respons operasi ditampilkan di jendela konsol klien. Tekan ENTER di jendela klien untuk mematikan klien.

Add(100,15.99) = 115.99
Subtract(145,76.54) = 68.46
Multiply(9,81.25) = 731.25
Divide(22,7) = 3.14285714285714

Press <ENTER> to terminate client.

Untuk menyiapkan, mengompilasi, dan menjalankan sampel

  1. Pastikan Anda telah melakukan Prosedur PenyetelanOne-Time untuk Sampel Windows Communication Foundation.

  2. Untuk membangun solusi edisi C# atau Visual Basic .NET, ikuti instruksi di Membangun Sampel Windows Communication Foundation.

  3. Untuk menjalankan sampel dalam konfigurasi satu atau lintas komputer, ikuti instruksi di Menjalankan Sampel Windows Communication Foundation.

Lihat juga