Bagikan melalui


Perilaku Debug Layanan

Sampel ServiceDebug menunjukkan bagaimana pengaturan perilaku debug layanan dapat dikonfigurasi. Sampel didasarkan pada Memulai, yang mengimplementasikan kontrak layanan ICalculator. Sampel ini secara eksplisit mendefinisikan perilaku debug layanan dalam file konfigurasi. Hal ini juga dapat dilakukan secara imperatif dalam kode.

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

Catatan

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

File Web.config untuk server menentukan perilaku debug layanan untuk mengaktifkan halaman bantuan dan penanganan pengecualian seperti yang ditunjukkan pada sampel berikut.

<behaviors>
     <serviceBehaviors>
         <behavior name="CalculatorServiceBehavior">
         <!-- WARNING: Setting includeExceptionDetailInFaults = "True" could result in leaking secured server information to the client.-->
         <!-- Please set this to false when deploying -->
             <serviceDebug includeExceptionDetailInFaults="True" httpHelpPageEnabled="True"/>
         </behavior>
     </serviceBehaviors>
</behaviors>

<serviceDebug> adalah elemen konfigurasi yang memungkinkan perubahan properti perilaku debug layanan. Pengguna dapat mengubah perilaku ini untuk mencapai hal-hal berikut:

  • Ini memungkinkan layanan untuk mengembalikan pengecualian apa pun yang dilemparkan oleh kode aplikasi meskipun pengecualian tidak dideklarasikan menggunakan FaultContractAttribute. Ini dilakukan dengan mengatur includeExceptionDetailInFaults ke true. Pengaturan ini berguna saat penelusuran kesalahan kasus di mana server memberikan pengecualian yang tidak terduga.

    Penting

    Tidak aman untuk mengaktifkan pengaturan ini di lingkungan produksi. Pengecualian server yang tidak terduga mungkin memiliki beberapa informasi yang tidak ditujukan untuk klien sehingga pengaturan includeExceptionDetailsInFaults ke true dapat mengakibatkan kebocoran informasi.

  • <serviceDebug> juga memungkinkan pengguna untuk mengaktifkan atau menonaktifkan halaman bantuan. Setiap layanan dapat secara opsional mengekspos halaman bantuan yang berisi informasi tentang layanan termasuk titik akhir untuk mendapatkan WSDL untuk layanan. Ini dapat diaktifkan dengan mengatur httpHelpPageEnabled ke true. Hal ini memungkinkan halaman bantuan dikembalikan ke permintaan GET ke alamat dasar layanan. Anda dapat mengubah alamat ini dengan mengatur atribut httpHelpPageUrl. Anda dapat membuat ini aman dengan menggunakan HTTPS, bukan HTTP. Ini dapat dilakukan dengan mengatur httpsHelpPageEnabled dan httpsHelpPageUrl.

Saat Anda menjalankan sampel, permintaan dan respons operasi ditampilkan di jendela konsol klien. Tiga operasi pertama (Penambahan, Pengurangan, dan Perkalian) harus berhasil. Operasi terakhir ("pembagian") gagal dengan pembagian dengan pengecualian nol.

Untuk menyiapkan, membangun, dan menjalankan sampel

  1. Pastikan Anda telah melakukan Prosedur Penyiapan Satu Kali untuk Sampel Windows Communication Foundation.

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

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