ServiceDebugBehavior.IncludeExceptionDetailInFaults Properti
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mendapatkan atau menetapkan nilai yang menentukan apakah akan menyertakan informasi pengecualian terkelola dalam detail kesalahan SOAP yang dikembalikan ke klien untuk tujuan penelusuran kesalahan.
public:
property bool IncludeExceptionDetailInFaults { bool get(); void set(bool value); };
public bool IncludeExceptionDetailInFaults { get; set; }
member this.IncludeExceptionDetailInFaults : bool with get, set
Public Property IncludeExceptionDetailInFaults As Boolean
Nilai Properti
true jika Windows Communication Foundation (WCF) mengembalikan informasi pengecualian terkelola dalam kesalahan SOAP untuk tujuan penelusuran kesalahan klien; jika tidak, false. Defaultnya adalah false.
Contoh
Contoh kode berikut menunjukkan cara menggunakan file konfigurasi untuk mengaktifkan fitur halaman bantuan HTML dan mengembalikan informasi pengecualian di dalam kesalahan SOAP kembali ke klien untuk tujuan penelusuran kesalahan. File konfigurasi ini memperlihatkan langkah-langkah dasar berikut untuk menambahkan dukungan untuk fitur:ServiceDebugBehavior
Karena jenisnya ServiceDebugBehavior adalah System.ServiceModel.Description.IServiceBehavior implementasi, <elemen layanan> yang mewakili jenis layanan memiliki pengidentifikasi
behaviorConfiguration="metadataAndDebug"konfigurasi perilaku .Sekali lagi, karena ServiceDebugBehavior jenisnya adalah System.ServiceModel.Description.IServiceBehavior implementasi <, elemen perilaku> ditambahkan ke <bagian serviceBehaviors> . Atur
nameatribut <elemen perilaku> yang nilainya adalah pengidentifikasibehaviorConfigurationatribut <elemen layanan> . Dalam hal ini, nilainyametadataAndDebug.<Tambahkan elemen serviceDebug> dengan berbagai atribut yang diatur ke konfigurasi yang diinginkan. Dalam hal ini,
httpHelpPageEnablednilai atribut danincludeExceptionDetailInFaultsdiatur ketrue.
<configuration>
<system.serviceModel>
<services>
<!--
Step 1. Add a behaviorConfiguration attribute
in the <service> element.
-->
<service
name="Microsoft.WCF.Documentation.SampleService"
behaviorConfiguration="metadataAndDebug">
<host>
<baseAddresses>
<add baseAddress="http://localhost:8080/SampleService" />
</baseAddresses>
</host>
<endpoint
address=""
binding="wsHttpBinding"
contract="Microsoft.WCF.Documentation.ISampleService"
/>
<endpoint
address="mex"
binding="mexHttpBinding"
contract="IMetadataExchange"
/>
</service>
</services>
<behaviors>
<serviceBehaviors>
<!--
Step 2. Inside a <serviceBehaviors> section, add
a name attribute in the <behaviors> element that
matches the behaviorConfiguration attribute in the
<service> element above.
-->
<behavior name="metadataAndDebug">
<serviceMetadata
httpGetEnabled="true"
httpGetUrl=""
/>
<!--
Step 3. Add a <serviceDebug> element and
modify the various attributes that suit your
scenario.
-->
<serviceDebug
httpHelpPageEnabled="true"
includeExceptionDetailInFaults="true"
/>
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
</configuration>
Keterangan
Atur IncludeExceptionDetailInFaults properti ke true untuk menginstruksikan WCF untuk mengembalikan informasi pengecualian terkelola ke klien dalam kesalahan SOAP untuk memudahkan penelusuran kesalahan.
Perhatian
Mengembalikan informasi pengecualian terkelola kepada klien dapat menjadi risiko keamanan karena detail pengecualian mengekspos informasi tentang implementasi layanan internal yang dapat digunakan oleh klien yang tidak sah. Selain itu, meskipun properti ServiceDebugBehavior juga dapat diatur secara terprogram, mudah untuk lupa menonaktifkan IncludeExceptionDetailInFaults saat menerapkan.
Karena masalah keamanan yang terlibat, sangat disarankan agar:
Anda menggunakan file konfigurasi aplikasi untuk mengatur nilai properti ke IncludeExceptionDetailInFaults
true.Anda hanya melakukannya dalam skenario penelusuran kesalahan terkontrol.
Untuk informasi selengkapnya, lihat Menentukan dan Menangani Kesalahan dalam Kontrak dan Layanan.