Sesi Terpercaya WS

Sampel wsReliableSession menunjukkan penggunaan sesi yang andal. Sesi yang andal memberikan dukungan untuk olahpesan dan sesi yang andal. Pesan yang andal mengulangi komunikasi ketika terjadi kegagalan dan memungkinkan jaminan pengiriman ditentukan, seperti pesan tiba secara berurutan. Sesi mempertahankan status untuk klien di antara panggilan. Sampel menerapkan sesi-sesi untuk mempertahankan status klien dan menentukan jaminan pengiriman sesuai urutan.

Sampel ini didasarkan pada Memulai yang mengimplementasikan layanan kalkulator. Fitur sesi yang andal diaktifkan dan dikonfigurasi dalam file konfigurasi aplikasi untuk klien dan layanan.

Dalam sampel ini, layanan dihosting di Internet Information Services (IIS) dan klien adalah aplikasi konsol (.exe).

Nota

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

Sampel menggunakan wsHttpBinding. Pengikatan ditentukan dalam file konfigurasi untuk klien dan layanan. Jenis pengikatan ditentukan dalam atribut elemen binding titik akhir seperti yang ditunjukkan dalam konfigurasi sampel berikut.

<endpoint address=""
          binding="wsHttpBinding"
          bindingConfiguration="Binding1"
          contract="Microsoft.ServiceModel.Samples.ICalculator" />

Titik akhir berisi bindingConfiguration atribut yang mereferensikan konfigurasi pengikatan bernama "Binding1." Konfigurasi pengikatan memungkinkan sesi yang andal dengan mengatur enabled atribut <reliableSession> ke true. Jaminan pengiriman untuk sesi yang dipesan dikontrol dengan mengatur atribut yang dipesan ke true atau false. Defaultnya adalah true.

<bindings>
    <wsHttpBinding>
        <binding name="Binding1">
            <reliableSession enabled="true" />
        </binding>
    </wsHttpBinding>
</bindings>

Kelas pelaksanaan layanan menggunakan instancing PerSession untuk menjaga instansi kelas yang terpisah bagi setiap klien, sebagaimana ditunjukkan dalam contoh kode berikut.

[ServiceBehavior(InstanceContextMode=InstanceContextMode.PerSession)] public class CalculatorService : ICalculator
{
    ...
}

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. Instal ASP.NET 4.0 menggunakan perintah berikut.

    %windir%\Microsoft.NET\Framework\v4.0.XXXXX\aspnet_regiis.exe /i /enable
    
  2. Pastikan Anda telah melakukan Prosedur Penyiapan One-Time untuk Sampel Windows Communication Foundation.

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

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