ServiceDebugBehavior.IncludeExceptionDetailInFaults 屬性
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
取得或設定值,指定是否要在傳回至用戶端以進行偵錯的 SOAP 錯誤詳細資料中包含 Managed 例外狀況資訊。
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
屬性值
true
如果 Windows Communication Foundation (WCF) 針對用戶端偵錯而傳回 SOAP 錯誤中的 Managed 例外狀況資訊,則為 ,否則 false
為 。 預設為 false
。
範例
下列程式碼範例示範如何使用組態檔來啟用 HTML 說明頁功能,並將 SOAP 錯誤內部的例外狀況資訊傳回至用戶端,以供偵錯之用。 這個組態檔會示範下列基本步驟來加入 ServiceDebugBehavior 功能的支援:
ServiceDebugBehavior因為類型是 System.ServiceModel.Description.IServiceBehavior 實作, < 所以表示服務類型的服務 > 專案具有 的行為組態識別碼
behaviorConfiguration="metadataAndDebug"
。同樣地,因為類型是 System.ServiceModel.Description.IServiceBehavior 實作 ServiceDebugBehavior ,所以 < 行為 > 專案會新增至 < serviceBehaviors > 區段。
name
設定行為 > 專案的 屬性 < ,其值為服務 > 專案之 屬性的 < 識別碼behaviorConfiguration
。 此處的值為metadataAndDebug
。< 新增 serviceDebug > 元素,並將各種屬性設定為所需的組態。 此處的
httpHelpPageEnabled
和includeExceptionDetailInFaults
屬性值都會設定為true
。
<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>
備註
將 IncludeExceptionDetailInFaults 屬性設定為 true
,以指示 WCF 將 Managed 例外狀況資訊傳回 SOAP 錯誤中的用戶端,以簡化偵錯。
警告
將 Managed 例外狀況資訊傳回用戶端可能導致安全性風險,因為例外狀況詳細資料會公開未授權的用戶端可使用的內部服務實作相關資訊。 此外,雖然也能以程式設計方式設定 ServiceDebugBehavior 屬性,不過在部署時很容易會忘記停用 IncludeExceptionDetailInFaults。
由於牽涉到安全性議題,我們強烈建議您:
使用應用程式的組態檔將 IncludeExceptionDetailInFaults 屬性的值設定為
true
。您只能在受控制的偵錯狀況下這樣做。
如需詳細資訊,請參閱 在合約和服務中指定及處理錯誤。