<serviceDebug>
指定 Windows Communication Foundation (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" />
特性和元素
下列各节描述了特性、子元素和父元素。
特性
属性 | 说明 |
---|---|
httpHelpPageBinding | 一个字符串值,指定在利用 HTTP 访问服务帮助页时使用的绑定类型。 仅支持具有支持 System.ServiceModel.Channels.IReplyChannel 的内部绑定元素的绑定。 此外,绑定的 System.ServiceModel.Channels.MessageVersion 属性必须为 MessageVersion.None。 |
httpHelpPageBindingConfiguration | 一个字符串,指定在 httpHelpPageBinding 特性中指定的绑定的名称,此名称引用此绑定的其他配置信息。 必须在 <bindings> 节中定义相同的名称。 |
httpHelpPageEnabled | 一个布尔值,控制 WCF 是否在 httpHelpPageUrl 属性指定的地址发布 HTML 帮助页。 默认值为 true 。可以将此属性设置为 false 以禁止发布对于 HTML 浏览器可见的 HTML 帮助页。若要确保在 httpHelpPageUrl 属性控制的位置发布 HTML 帮助页,必须将此属性设置为 true 。 另外,还必须满足以下条件之一:- httpHelpPageUrl 属性是支持 HTTP 协议方案的绝对地址。- 服务有支持 HTTP 协议方案的基址。 尽管为 httpHelpPageUrl 属性指定不支持 HTTP 协议方案的绝对地址会引发异常,但不满足前面两个条件的任何其他方案都不会引发异常,也不会发布 HTML 帮助页。 |
httpHelpPageUrl | 一个 URI,指定在使用 HTML 浏览器查看终结点时,用户所见自定义 HTML 帮助文件的基于 HTTP 的相对或绝对 URL。 可以使用此属性启用自定义 HTML 帮助文件,例如,从 HTML 浏览器通过 HTTP/Get 请求返回的帮助文件。 HTML 帮助文件位置的解析方式如下。 1. 如果此属性的值是相对地址,则 HTML 帮助文件的位置是支持 HTTP 请求的服务基址加上此属性值的值。 2. 如果此属性的值是绝对地址并支持 HTTP 请求,则 HTML 帮助文件的位置是此属性的值。 3. 如果此属性的值是绝对地址但不支持 HTTP 请求,则会引发异常。 只有当 httpHelpPageEnabled 属性为 true 时,此属性才有效。 |
httpsHelpPageBinding | 一个字符串值,指定在利用 HTTPS 访问服务帮助页时使用的绑定类型。 仅支持具有支持 IReplyChannel 的内部绑定元素的绑定。 此外,绑定的 System.ServiceModel.Channels.MessageVersion 属性必须为 MessageVersion.None。 |
httpsHelpPageBindingConfiguration | 一个字符串,指定在 httpsHelpPageBinding 特性中指定的绑定的名称,此名称引用此绑定的其他配置信息。 必须在 <bindings> 节中定义相同的名称。 |
httpsHelpPageEnabled | 一个布尔值,控制 WCF 是否在 httpsHelpPageUrl 属性指定的地址发布 HTML 帮助页。 默认值为 true 。可以将此属性设置为 false 以禁止发布对于 HTML 浏览器可见的 HTML 帮助页。若要确保在 httpsHelpPageUrl 属性控制的位置发布 HTML 帮助页,必须将此属性设置为 true 。 另外,还必须满足以下条件之一:- httpsHelpPageUrl 属性是支持 HTTPS 协议方案的绝对地址。- 服务有支持 HTTPS 协议方案的基址。 尽管为 httpsHelpPageUrl 属性指定不支持 HTTPS 协议方案的绝对地址会引发异常,但不满足前面两个条件的任何其他方案都不会引发异常,也不会发布 HTML 帮助页。 |
httpsHelpPageUrl | 一个 URI,指定在使用 HTML 浏览器查看终结点时,用户所见自定义 HTML 帮助文件的基于 HTTPS 的相对或绝对 URL。 可以使用此属性启用自定义 HTML 帮助文件,例如,从 HTML 浏览器通过 HTTPS/Get 请求返回的帮助文件。 HTML 帮助文件位置的解析方式如下: - 如果此属性的值是相对地址,则 HTML 帮助文件的位置是支持 HTTPS 请求的服务基址加上此属性值的值。 - 如果此属性的值是绝对地址并支持 HTTPS 请求,则 HTML 帮助文件的位置是此属性的值。 - 如果此属性的值是绝对地址但不支持 HTTPS 请求,则会引发异常。 只有当 httpHelpPageEnabled 属性为 true 时,此属性才有效。 |
includeExceptionDetailInFaults | 一个值,指定是否在返回给客户端的 SOAP 错误详细信息中包含托管异常信息以供调试。 默认值为 false 。如果将此属性设置为 true ,则可以将托管异常信息流到客户端以便进行调试,还可以为在 Web 浏览器中浏览该服务的用户发布 HTML 信息文件。 注意:向客户端返回托管异常信息可能具有安全风险。 这是因为,异常详细信息公开了有关内部服务实现的信息,这些信息可能被未经授权的客户端使用。 |
子元素
无。
父元素
元素 | 说明 |
---|---|
<behavior> | 指定行为元素。 |
备注
将 includeExceptionDetailInFaults
设置为 true
可以让服务返回应用程序代码引发的任何异常,即使未使用 FaultContractAttribute 声明异常。 此设置在调试服务器引发意外异常的事例时很有用。 通过使用此属性,可以返回未知异常的序列化形式,从而可以检查该异常的更多详细信息。
注意
将托管异常信息返回给客户端可能存在安全风险,因为异常详细信息会公开有关内部服务实现的信息,而未经授权的客户端可能会利用这些信息。 由于涉及到安全问题,强烈建议您仅在受控调试情况下执行此操作。 部署应用程序时应将 includeExceptionDetailInFaults
设置为 false
。
有关与托管异常相关的安全问题的详细信息,请参阅在协定和服务中指定和处理故障。 有关代码示例,请参阅服务调试行为。
也可以设置 httpsHelpPageEnabled
和 httpsHelpPageUrl
来启用或禁用帮助页。 每个服务可以选择公开一个帮助页,该帮助页包含有关服务的信息,其中包括要获取服务的 WSDL 的终结点。 通过将 httpHelpPageEnabled
设置为 true
可以启用该帮助页。 这将使帮助页返回到对服务基址的 GET 请求。 可以通过设置 httpHelpPageUrl
属性来更改此地址。 此外,通过使用 HTTPS(而不是 HTTP)可以使其安全。
可以利用可选的 httpHelpPageBinding
和 httpHelpPageBinding
属性来配置用于访问服务网页的绑定。 如果未指定这两个属性,则根据情况使用相应的默认绑定(采用 HTTP 时为 HttpTransportBindingElement
,采用 HTTPS 时为 HttpsTransportBindingElement
)来访问服务帮助页。 请注意:不能将这些属性用于内置 WCF 绑定。 仅支持具有支持 xref:System.ServiceModel.Channels.IReplyChannel> 的内部绑定元素的绑定。 此外,绑定的 System.ServiceModel.Channels.MessageVersion 属性必须为 MessageVersion.None。