Bagikan melalui


WSHttpBinding

Sampel wsHttp menunjukkan cara mengimplementasikan layanan tipikal dan klien tipikal menggunakan Windows Communication Foundation (WCF). Sampel ini terdiri dari program konsol klien (client.exe) dan pustaka layanan yang dihosting oleh Layanan Informasi Internet (IIS). Layanan tersebut mengimplementasikan kontrak yang mendefinisikan pola komunikasi balasan permintaan. Kontrak didefinisikan oleh antarmuka ICalculator, yang mengekspos operasi matematika (tambah, kurang, kali, dan bagi). Klien membuat permintaan sinkron ke operasi matematika tertentu dan layanan membalas dengan hasilnya. Aktivitas klien terlihat di jendela konsol.

Catatan

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

Sampel ini mengekspos kontrak ICalculator menggunakan <wsHttpBinding>. Konfigurasi pengikatan ini telah diperluas dalam file Web.config.

<bindings>
  <wsHttpBinding>
    <!--The following is the expanded configuration section for a-->
    <!--WSHttpBinding. Each property is configured with the default-->
    <!--value. See the ReliableSession, TransactionFlow, -->
    <!--TransportSecurity, and MessageSecurity samples in the WS -->
    <!--directory to learn how to configure these features. -->
    <binding name="Binding1"
              bypassProxyOnLocal="false"
              transactionFlow="false"
              hostNameComparisonMode="StrongWildcard"
              maxBufferPoolSize="524288"
              maxReceivedMessageSize="65536"
              messageEncoding="Text"
              textEncoding="utf-8"
              useDefaultWebProxy="true"
              allowCookies="false">
      <reliableSession ordered="true"
                       inactivityTimeout="00:10:00"
                       enabled="false" />
      <security mode="Message">
        <message clientCredentialType="Windows"
                 negotiateServiceCredential="true"
                 algorithmSuite="Default"
                 establishSecurityContext="true" />
      </security>
    </binding>
  </wsHttpBinding>
</bindings>

Pada elemen binding dasar, nilai maxReceivedMessageSize memungkinkan Anda mengonfigurasi ukuran maksimum pesan masuk (dalam byte). Nilai hostNameComparisonMode memungkinkan Anda mengonfigurasi apakah nama host dipertimbangkan saat membatalkan multipleks pesan ke layanan. Nilai messageEncoding memungkinkan Anda mengonfigurasi apakah akan menggunakan pengodean MTOM atau Teks untuk pesan. Nilai textEncoding memungkinkan Anda mengonfigurasi pengodean karakter untuk pesan. Nilai bypassProxyOnLocal memungkinkan Anda mengonfigurasi apakah akan menggunakan proksi HTTP untuk komunikasi lokal. Nilai transactionFlow mengonfigurasi apakah transaksi saat ini mengalir (jika operasi dikonfigurasi untuk alur transaksi).

Pada elemen <reliableSession>, nilai Boolean yang diaktifkan mengonfigurasi apakah sesi yang andal diaktifkan. Nilai ordered mengonfigurasi apakah pengurutan pesan dipertahankan. Nilai inactivityTimeout mengonfigurasi berapa lama sesi dapat diam sebelum rusak.

Pada <keamanan>, nilai mode mengonfigurasi mode keamanan mana yang harus digunakan. Dalam sampel ini, keamanan pesan digunakan, itulah sebabnya <pesan> ditentukan di dalam <keamanan>.

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.