ServiceDebugBehavior.IncludeExceptionDetailInFaults Özellik
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Hata ayıklama amacıyla istemciye döndürülen SOAP hatalarının ayrıntılarına yönetilen özel durum bilgilerinin eklenip eklenmeyeceğini belirten bir değer alır veya ayarlar.
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
Özellik Değeri
true Windows Communication Foundation (WCF), istemci hata ayıklama amacıyla SOAP hatalarında yönetilen özel durum bilgileri döndürüyorsa; aksi takdirde , false. Varsayılan değer: false.
Örnekler
Aşağıdaki kod örneğinde, HTML yardım sayfası özelliğini etkinleştirmek için yapılandırma dosyasının nasıl kullanılacağı ve hata ayıklama amacıyla soap hatasının içindeki özel durum bilgilerinin istemciye nasıl döndürüleceği gösterilmektedir. Bu yapılandırma dosyası, özellikler için destek eklemeye ServiceDebugBehavior yönelik aşağıdaki temel adımları gösterir:
ServiceDebugBehavior Tür bir System.ServiceModel.Description.IServiceBehavior uygulama olduğundan, <hizmet türünü temsil eden hizmet> öğesinin davranış yapılandırma tanımlayıcısı vardır
behaviorConfiguration="metadataAndDebug".Yine, tür bir System.ServiceModel.Description.IServiceBehavior uygulama olduğundan ServiceDebugBehaviorserviceBehaviors> bölümüne bir<davranış> öğesi< eklenir.
namedeğeri, hizmet> öğesinin özniteliğinin tanımlayıcısı olan behavior öğesinin özniteliğini<>ayarlayın.<behaviorConfigurationBu durumda değerimetadataAndDebug.çeşitli öznitelikleri istenen yapılandırmaya ayarlanmış bir <serviceDebug> öğesi ekleyin. Bu durumda ve
httpHelpPageEnabledincludeExceptionDetailInFaultsöznitelik değerleri olaraktrueayarlanır.
<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>
Açıklamalar
Hata ayıklamayı IncludeExceptionDetailInFaults kolaylaştırmak için WCF'ye SOAP hatalarında istemciye yönetilen özel durum bilgileri döndürmesini bildirmek için özelliğini true olarak ayarlayın.
Dikkat
Özel durum ayrıntıları yetkisiz istemciler tarafından kullanılabilecek iç hizmet uygulaması hakkındaki bilgileri kullanıma sunduğundan, yönetilen özel durum bilgilerinin istemcilere döndürülmesi güvenlik riski oluşturabilir. Ayrıca, ServiceDebugBehavior özellikleri program aracılığıyla da ayarlanabilse de, IncludeExceptionDetailInFaults devre dışı bırakmayı dağıtım sırasında unutmak kolay olabilir.
İlgili güvenlik sorunları nedeniyle aşağıdakiler kesinlikle önerilir:
Özelliğinin IncludeExceptionDetailInFaults
truedeğerini olarak ayarlamak için bir uygulama yapılandırma dosyası kullanırsınız.Bunu yalnızca denetimli hata ayıklama senaryolarında yaparsınız.
Daha fazla bilgi için bkz. Sözleşmelerde ve Hizmetlerde Hataları Belirtme ve İşleme.