<serviceDebug>
Gibt Debugging- und Hilfeinformationsfeatures für einen Windows Communication Foundation (WCF)-Dienst an.
Schemahierarchie
<<system.serviceModel>>
<behaviors>
<serviceBehaviors>
<behavior> von <serviceBehaviors>
<serviceDebug>
Syntax
<serviceDebug httpHelpPageBinding=”String” httpHelpPageBindingConfiguration=”String”
httpHelpPageEnabled="Boolean"
httpHelpPageUrl="Uri"
httpsHelpPageBinding=”String” httpsHelpPageBindingConfiguration=”String”
httpsHelpPageEnabled="Boolean"
httpsHelpPageUrl="Uri"
includeExceptionDetailInFaults="Boolean" />
Attribute und Elemente
In den folgenden Abschnitten werden Attribute, untergeordnete Elemente sowie übergeordnete Elemente beschrieben.
Attribute
Attribut | Beschreibung |
---|---|
httpHelpPageBinding |
Ein Zeichenfolgenwert, der den Typ der zu verwendenden Bindung beim Zugriff auf die Diensthilfeseite über HTTP festlegt. Nur Bindungen mit inneren Bindungselementen, die System.ServiceModel.Channels.IReplyChannel unterstützen, werden unterstützt. Darüber hinaus muss die System.ServiceModel.Channels.MessageVersion-Eigenschaft der Bindung System.ServiceModel.Channels.MessageVersion.None lauten. |
httpHelpPageBindingConfiguration |
Eine Zeichenfolge mit dem Namen der Bindung, die im httpHelpPageBinding-Attribut angegeben ist, das auf die zusätzlichen Konfigurationsinformationen dieser Bindung verweist. Der gleiche Name muss im Abschnitt <bindings> definiert werden. |
httpHelpPageEnabled |
Ein boolescher Wert, der steuert, ob WCF eine HTML-Hilfeseite an der vom httpHelpPageUrl-Attribut angegebenen Adresse veröffentlicht. Die Standardeinstellung ist true. Sie können diese Eigenschaft auf false festlegen, um die Veröffentlichung einer in HTML-Browsern angezeigbaren HTML-Hilfeseite zu deaktivieren. Um sicherzustellen, dass die HTML-Hilfeseite an dem Speicherort veröffentlicht wird, der vom httpHelpPageUrl-Attribut gesteuert wird, müssen Sie dieses Attribut auf true festlegen. Außerdem muss eine der folgenden Bedingungen erfüllt werden:
Obwohl eine Ausnahme ausgegeben wird, wenn eine absolute Adresse, die das HTTP-Protokollschema nicht unterstützt, dem httpHelpPageUrl-Attribut zugewiesen wird, werden bei allen anderen Szenarien, die den vorstehenden Kriterien nicht entsprechen, keine Ausnahmen und HTML-Hilfeseiten ausgegeben. |
httpHelpPageUrl |
Ein URI, der die relative oder absolute HTTP-basierte URL der benutzerdefinierten HTML-Hilfedatei angibt, die dem Benutzer angezeigt wird, wenn der Endpunkt mithilfe eines HTML-Browsers angezeigt wird. Sie können dieses Attribut verwenden, um die Verwendung einer benutzerdefinierten HTML-Hilfedatei zu ermöglichen, die von einer HTTP/Get-Anfrage zurückgegeben wird, beispielsweise von einem HTML-Browser. Der Speicherort der HTML-Hilfedatei wird wie folgt aufgelöst.
Das Attribut ist nur gültig, wenn das httpHelpPageEnabled Attribut true ist. |
httpsHelpPageBinding |
Ein Zeichenfolgenwert, der den Typ der zu verwendenden Bindung beim Zugriff auf die Diensthilfeseite über HTTPS festlegt. Nur Bindungen mit inneren Bindungselementen, die System.ServiceModel.Channels.IReplyChannel unterstützen, werden unterstützt. Darüber hinaus muss die System.ServiceModel.Channels.MessageVersion-Eigenschaft der Bindung System.ServiceModel.Channels.MessageVersion.None lauten. |
httpsHelpPageBindingConfiguration |
Eine Zeichenfolge mit dem Namen der Bindung, die im httpsHelpPageBinding-Attribut angegeben ist, das auf die zusätzlichen Konfigurationsinformationen dieser Bindung verweist. Der gleiche Name muss im Abschnitt <bindings> definiert werden. |
httpsHelpPageEnabled |
Ein boolescher Wert, der steuert, ob WCF eine HTML-Hilfeseite an der vom httpsHelpPageUrl-Attribut angegebenen Adresse veröffentlicht. Die Standardeinstellung ist true. Sie können diese Eigenschaft auf false festlegen, um die Veröffentlichung einer in HTML-Browsern angezeigbaren HTML-Hilfeseite zu deaktivieren. Um sicherzustellen, dass die HTML-Hilfeseite an dem Speicherort veröffentlicht wird, der vom httpsHelpPageUrl-Attribut gesteuert wird, müssen Sie dieses Attribut auf true festlegen. Außerdem muss eine der folgenden Bedingungen erfüllt werden:
Obwohl eine Ausnahme ausgegeben wird, wenn eine absolute Adresse, die das HTTPS-Protokollschema nicht unterstützt, dem httpsHelpPageUrl-Attribut zugewiesen wird, werden bei allen anderen Szenarien, die den vorstehenden Kriterien nicht entsprechen, keine Ausnahmen und HTML-Hilfeseiten ausgegeben. |
httpsHelpPageUrl |
Ein URI, der die relative oder absolute HTTPS-basierte URL der benutzerdefinierten HTML-Hilfedatei angibt, die dem Benutzer angezeigt wird, wenn der Endpunkt mithilfe eines HTML-Browsers angezeigt wird. Sie können dieses Attribut verwenden, um die Verwendung einer benutzerdefinierten HTML-Hilfedatei zu ermöglichen, die von einer HTTPS/Get-Anfrage zurückgegeben wird, beispielsweise von einem HTML-Browser. Der Speicherort der HTML-Hilfedatei wird wie folgt aufgelöst:
Das Attribut ist nur gültig, wenn das httpHelpPageEnabled Attribut true ist. |
includeExceptionDetailInFaults |
Ein Wert, der angibt, ob verwaltete Ausnahmeinformationen in den Details der SOAP-Fehler zu Debuggingzwecken an den Client zurückgegeben werden. Die Standardeinstellung ist false. Wenn Sie dieses Attribut auf true festlegen, können Sie die Übergabe von verwalteten Ausnahmeinformationen zurück an den Client zu Debuggingzwecken aktivieren und die Veröffentlichung von HTML-Informationsdateien für Benutzer bereitstellen, die den Dienst in Webbrowsern durchsuchen.
Vorsicht:
Verwaltete Ausnahmeinformationen an Clients zurückzugeben, kann ein Sicherheitsrisiko darstellen. Das liegt darin begründet, dass Ausnahmedetails Informationen zur internen Dienstimplementierung offen legen, die von nicht autorisierten Clients verwendet werden können.
|
Untergeordnete Elemente
Keine.
Übergeordnete Elemente
Element | Beschreibung |
---|---|
Gibt ein Verhaltenselement an. |
Hinweise
Durch das Festlegen von includeExceptionDetailInFaults auf true kann der Dienst Ausnahmen zurückgeben, die von der Anwendung ausgelöst werden, auch wenn die Ausnahmen nicht mit FaultContractAttribute deklariert sind. Diese Einstellung ist in Debuggingfällen hilfreich, in denen der Server eine unerwartete Ausnahme ausgibt. Durch Verwenden dieses Attributs wird ein serialisiertes Format der unbekannten Ausnahme zurückgegeben, und Sie können mehr Details zur Ausnahme überprüfen.
Vorsicht: |
---|
Verwaltete Ausnahmeinformationen an Clients zurückzugeben kann ein Sicherheitsrisiko darstellen, da Ausnahmedetails Informationen zur internen Dienstimplementierung verfügbar machen, die von nicht autorisierten Clients verwendet werden könnten. Wegen der damit verbundenen Sicherheitsprobleme wird dringend empfohlen, dass Sie diesen Vorgang nur in gesteuerten Debugszenarien ausführen. Beim Bereitstellen der Anwendung sollten Sie includeExceptionDetailInFaults auf false festlegen. |
Einzelheiten zu Sicherheitsproblemen in Verbindung mit verwalteten Ausnahmen finden Sie unter Specifying and Handling Faults in Contracts and Services. Ein Codebeispiel finden Sie unter Service Debug Behavior.
Sie können auch httpsHelpPageEnabled und httpsHelpPageUrl festlegen, um die Hilfeseite zu aktivieren oder zu deaktivieren. Jeder Dienst kann optional eine Hilfeseite verfügbar machen, die Informationen zum Dienst enthält, einschließlich des Endpunkts, um WSDL für den Dienst abzurufen. Dies kann durch Festlegen von httpHelpPageEnabled auf true aktiviert werden. Dadurch kann die Hilfeseite an eine GET-Anforderung der Basisadresse des Diensts zurückgegeben werden. Durch Festlegen des httpHelpPageUrl-Attributs können Sie diese Adresse ändern. Sie können dies außerdem sichern, indem Sie HTTPS statt HTTP verwenden.
Mithilfe des optionalen httpHelpPageBinding-Attributs und httpHelpPageBinding-Attributs können Sie die für den Zugriff auf die Diensthilfeseite verwendeten Bindungen konfigurieren. Wenn sie nicht festgelegt sind, werden die Standardbindungen (HttpTransportBindingElement für HTTP und HttpsTransportBindingElement für HTTPS) entsprechend für den Zugriff auf die Diensthilfeseite verwendet. Beachten Sie, dass Sie diese Attribute nicht mit den integrierten WCF-Bindungen verwenden können. Nur Bindungen mit inneren Bindungselementen, die System.ServiceModel.Channels.IReplyChannel unterstützen, werden unterstützt. Darüber hinaus muss die System.ServiceModel.Channels.MessageVersion-Eigenschaft der Bindung System.ServiceModel.Channels.MessageVersion.None lauten.
Siehe auch
Verweis
ServiceDebugElement
ServiceDebugBehavior
Weitere Ressourcen
Specifying and Handling Faults in Contracts and Services
Handling Exceptions and Faults
Service Debug Behavior