共用方式為


<serviceDebug>

規範 Windows 通訊基礎(WCF)服務的除錯與說明資訊功能。

<configuration>
  <system.serviceModel>
    <behaviors>
      <serviceBehaviors>
        <behavior>
          <serviceDebug>

語法

<serviceDebug httpHelpPageBinding="String"
              httpHelpPageBindingConfiguration="String"
              httpHelpPageEnabled="Boolean"
              httpHelpPageUrl="Uri"
              httpsHelpPageBinding="String"
              httpsHelpPageBindingConfiguration="String"
              httpsHelpPageEnabled="Boolean"
              httpsHelpPageUrl="Uri"
              includeExceptionDetailInFaults="Boolean" />

屬性和項目

下列章節說明屬性、子元素和父元素。

Attributes

Attribute Description
httpHelpPageBinding 一個字串值,指定在使用 HTTP 存取服務說明頁面時,要使用的綁定類型。

只有內層結合元素且有支撐 System.ServiceModel.Channels.IReplyChannel 性的綁定才會被支持。 此外, System.ServiceModel.Channels.MessageVersion 綁定的性質必須為 MessageVersion.None
httpHelpPageBindingConfiguration 一個字串,指定屬性中 httpHelpPageBinding 指定的綁定名稱,並參考該綁定的額外設定資訊。 該區段必須定義 <bindings> 相同名稱。
httpHelpPageEnabled 一個布林值,控制 WCF 是否會在屬性指定的 httpHelpPageUrl 地址發佈 HTML 說明頁面。 預設值為 true

你可以設定此屬性, false 讓 HTML 瀏覽器無法看到 HTML 說明頁面的發布。

為了確保 HTML 說明頁面會被屬性控制 httpHelpPageUrl 的位置發佈,你必須將此屬性設為 true。 此外,還必須符合以下一項條件:

- 屬性 httpHelpPageUrl 為支援 HTTP 協定方案的絕對位址。
- 有一個支援 HTTP 協定方案的服務基底位址。

雖然如果指派一個不支援 HTTP 協定方案的絕對位址, httpHelpPageUrl 屬性會拋出例外,但若其他情境中上述條件未被滿足,則不會出現例外,也不會出現 HTML 說明頁面。
httpHelpPageUrl 一個 URI,指定使用者在使用 HTML 瀏覽器查看端點時所見的,該檔案的相對或絕對基於 HTTP 的 URL。

你可以利用這個屬性來啟用自訂的 HTML 說明檔,該檔案會從 HTTP/Get 請求(例如從 HTML 瀏覽器)回傳。 HTML 說明檔的位置解析如下。

1. 若此屬性值為相對位址,則 HTML 說明檔的位置即為支援 HTTP 請求的服務基底位址值,加上此屬性值。
2. 若此屬性值為絕對位址且支援 HTTP 請求,則 HTML 說明檔的位置即為該屬性的值。
3. 若此屬性值為絕對值但不支援 HTTP 請求,則會拋出例外。

此屬性僅在屬性 httpHelpPageEnabledtrue時有效。
httpsHelpPageBinding 一個字串值,指定使用 HTTPS 存取服務說明頁面時應使用的綁定類型。

只有內層結合元素且有支撐 IReplyChannel 性的綁定才會被支持。 此外, System.ServiceModel.Channels.MessageVersion 綁定的性質必須為 MessageVersion.None
httpsHelpPageBindingConfiguration 一個字串,指定屬性中 httpsHelpPageBinding 指定的綁定名稱,並參考該綁定的額外設定資訊。 該區段必須定義 <bindings> 相同名稱。
httpsHelpPageEnabled 一個布林值,控制 WCF 是否會在屬性指定的 httpsHelpPageUrl 地址發佈 HTML 說明頁面。 預設值為 true

你可以設定此屬性, false 讓 HTML 瀏覽器無法看到 HTML 說明頁面的發布。

為了確保 HTML 說明頁面會被屬性控制 httpsHelpPageUrl 的位置發佈,你必須將此屬性設為 true。 此外,還必須符合以下一項條件:

- 屬性 httpsHelpPageUrl 為支援 HTTPS 協定方案的絕對位址。
- 有一個支援 HTTPS 協定方案的服務基底位址。

雖然若指派的絕對位址不支援 HTTPS 協定方案, httpsHelpPageUrl 則會拋出例外,但若其他情境中上述條件皆未達成,則不會出現例外,也不見 HTML 說明頁面。
httpsHelpPageUrl 一個 URI,指定使用者在使用 HTML 瀏覽器查看端點時所見的基於 HTTPS 的相對或絕對 URL 的自訂 HTML 說明檔案。

你可以利用這個屬性來啟用自訂的 HTML 說明檔,該檔案會從 HTTPS/Get 請求(例如從 HTML 瀏覽器)回傳。 HTML 說明檔的位置解析如下:

- 若此屬性的值為相對位址,則 HTML 說明檔的位置為支援 HTTPS 請求的服務基底位址值加上此屬性值。
- 若此屬性的值為絕對位址且支援 HTTPS 請求,則 HTML 說明檔的位置即為該屬性的值。
- 若此屬性值為絕對值但不支援 HTTPS 請求,則會拋出例外。

此屬性僅在屬性 httpHelpPageEnabledtrue時有效。
includeExceptionDetailInFaults 一個值,指定是否應在回傳給客戶端以供除錯目的的 SOAP 錯誤細節中包含受管理異常資訊。 預設值為 false

若將此屬性設為 true,則可啟用管理異常資訊流向用戶端供除錯,並發布 HTML 資訊檔案,供網頁瀏覽器瀏覽服務的使用者使用。 注意: 將受管理異常資訊回傳給客戶端可能構成安全風險。 這是因為例外細節會暴露內部服務實作的資訊,這些資訊可能會被未經授權的用戶端使用。

子專案

沒有。

父項目

元素 Description
<態度> 指定一個行為元素。

備註

設定 includeExceptionDetailInFaultstrue 允許服務回傳應用程式代碼拋出的任何例外,即使該例外未使用 FaultContractAttribute。 此設定在除錯伺服器拋出意外例外的情況時非常有用。 使用此屬性後,會回傳未知例外的序列化形式,您可以檢視該例外的更多細節。

謹慎

將受管理的例外資訊回傳給用戶端可能存在安全風險,因為例外細節會暴露內部服務實作的資訊,這些資訊可能被未經授權的用戶端使用。 由於涉及安全問題,強烈建議僅在受控除錯情境下進行除錯。 部署應用程式時應該設定includeExceptionDetailInFaults為 。false

關於管理例外相關安全問題的詳細資訊,請參閱「 合約與服務中的錯誤指定與處理」。 如需程式碼範例,請參閱 服務除錯行為

你也可以設定 httpsHelpPageEnabledhttpsHelpPageUrl 啟用或停用說明頁面。 每個服務可選擇性地顯示一個說明頁面,包含服務資訊,包括取得該服務 WSDL 的端點。 可透過設定 httpHelpPageEnabledtrue來啟用。 這使說明頁面能返回給服務的基址 GET 請求。 你可以透過設定 httpHelpPageUrl 屬性來更改這個地址。 此外,你也可以用 HTTPS 取代 HTTP 來提升安全性。

Optional httpHelpPageBindinghttpHelpPageBinding attributes 允許你設定用於存取服務網頁的綁定。 若未指定,則會依照適用的預設綁定HttpTransportBindingElement(HTTP HttpsTransportBindingElement為 ,HTTPS 為 ,HTTPS 為 ,) 作為服務說明頁面的適當存取。 請注意,這些屬性無法搭配內建的 WCF 綁定使用。 僅支援支援 xref:System.ServiceModel.Channels.IReplyChannel> 的內層綁定元素。 此外, System.ServiceModel.Channels.MessageVersion 綁定的性質必須為 MessageVersion.None

另請參閱