Bagikan melalui


Sesi Andal WS

Sampel wsReliableSession menunjukkan penggunaan sesi yang andal. Sesi yang andal memberikan dukungan untuk sesi dan pesan yang andal. Pesan yang andal mencoba kembali komunikasi tentang kegagalan dan memungkinkan jaminan pengiriman ditentukan, seperti kedatangan pesan secara berurutan. Sesi mempertahankan status untuk klien di antara panggilan. Sampel mengimplementasikan sesi untuk mempertahankan status klien dan menentukan jaminan pengiriman secara berurutan.

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

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

Catatan

Prosedur penyiapan dan petunjuk pembuatan untuk sampel ini terdapat di akhir topik ini.

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

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

Titik akhir berisi atribut bindingConfiguration yang merujuk konfigurasi pengikatan bernama "Binding1." Konfigurasi pengikatan tersebut memungkinkan sesi yang andal dengan menetapkan atribut enabled dari <reliableSession> ke true. Jaminan pengiriman untuk sesi yang dipesan dikontrol dengan menetapkan atribut yang dipesan ke true atau false. Default adalah true.

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

Kelas implementasi layanan mengimplementasikan pembuatan instans PerSession untuk mempertahankan instans kelas terpisah untuk setiap klien, seperti yang ditunjukkan pada kode sampel 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 komputer 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, membangun, dan menjalankan sampel

  1. Pasang 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 Satu Kali untuk Sampel Windows Communication Foundation.

  3. Untuk membangun solusi edisi C# atau Visual Basic .NET, ikuti petunjuknya di Membangun Sampel WCF.

  4. Untuk menjalankan sampel dalam konfigurasi satu atau lintas komputer, ikuti instruksi pada Menjalankan Sampel WCF.