ServiceDebugBehavior Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Aktiviert Debug- und Hilfeinformationsfunktionen für einen WCF-Dienst (Windows Communication Foundation).
public ref class ServiceDebugBehavior : System::ServiceModel::Description::IServiceBehavior
public class ServiceDebugBehavior : System.ServiceModel.Description.IServiceBehavior
type ServiceDebugBehavior = class
interface IServiceBehavior
Public Class ServiceDebugBehavior
Implements IServiceBehavior
- Vererbung
-
ServiceDebugBehavior
- Implementiert
Beispiele
Das folgende Codebeispiel zeigt, wie eine Konfigurationsdatei verwendet wird, um das HTML-Hilfeseitenfeature zu aktivieren und um Ausnahmeinformationen innerhalb eines SOAP-Fehlers für Debugzwecke an den Client zurückzugeben (zusätzlich zum Aktivieren der Metadatenunterstützung). Diese Konfigurationsdatei veranschaulicht die folgenden grundlegenden Schritte zum Hinzufügen der Unterstützung für die ServiceDebugBehavior-Features:
Da der Typ eine System.ServiceModel.Description.IServiceBehavior Implementierung ist, weist das ServiceDebugBehavior <Dienstelement>, das den Diensttyp darstellt, einen Verhaltenskonfigurationsbezeichner von
behaviorConfiguration="metadataAndDebug"
.Da der ServiceDebugBehavior Typ eine Implementierung ist, System.ServiceModel.Description.IServiceBehavior <wird ein Verhaltenelement> zu einem <DienstBehaviors-Abschnitt> hinzugefügt. Legen Sie das
name
Attribut des <Verhaltenselements> fest, dessen Wert der Bezeichner desbehaviorConfiguration
Attributs des< Dienstelements> ist. In diesem Fall handelt es sich um den WertmetadataAndDebug
.Fügen Sie ein <ServiceDebug-Element> mit den verschiedenen Attributen hinzu, die auf die gewünschte Konfiguration festgelegt sind. In diesem Fall werden die
httpHelpPageEnabled
- undincludeExceptionDetailInFaults
-Attributwerte auftrue
festgelegt.
<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>
Hinweise
Sie können den Fluss verwalteter Ausnahmeinformationen an den Client zu Debugzwecken sowie die Veröffentlichung von HTML-Informationsdateien für Benutzer, die den Dienst in Webbrowsern durchsuchen, mithilfe der ServiceDebugBehavior-Eigenschaften aus einer Konfigurationsdatei oder programmgesteuert aktivieren.
Legen Sie die IncludeExceptionDetailInFaults Eigenschaft true
fest, um WCF anzuweisen, verwaltete Ausnahmeinformationen in SOAP-Fehlern an Clients für Debugzwecke zurückzugeben.
Achtung
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. Außerdem wird, obwohl die ServiceDebugBehavior-Eigenschaften auch programmgesteuert festgelegt werden können, bei der Bereitstellung das Deaktivieren von IncludeExceptionDetailInFaults schnell vergessen.
Wegen der damit verbundenen Sicherheitsprobleme wird Folgendes dringend empfohlen:
Verwenden Sie eine Anwendungskonfigurationsdatei, um den Wert der IncludeExceptionDetailInFaults-Eigenschaft auf
true
festzulegen.Führen Sie diesen Vorgang nur in gesteuerten Debugszenarien aus.
Weitere Informationen zu den Sicherheitsproblemen im Zusammenhang mit verwalteten Ausnahmeinformationen finden Sie unter Angeben und Behandeln von Fehlern in Verträgen und Diensten.
Die HttpHelpPageEnabled- und HttpsHelpPageEnabled-Eigenschaften weisen den Dienst an, HTML-Hilfedateien zu veröffentlichen, wenn der Dienst mithilfe eines HTML-Browsers angezeigt wird.
Die HttpHelpPageUrl- und die HttpsHelpPageUrl-Eigenschaft steuern die Position der angezeigten HTML-Hilfeseite.
Gehen Sie wie folgt vor, um eines der ServiceDebugBehavior-Funktionen mit einer Konfigurationsdatei zu aktivieren oder zu deaktivieren:
Fügen Sie dem <Dienstelement für Ihren WCF-Dienst> ein
behaviorConfiguration
Attribut hinzu. Endpunktverhalten werden auf Elementen konfiguriert; Dienstverhalten auf <endpoint> <Dienstelementen> .Fügen Sie einen Abschnitt "serviceBehaviors>" hinzu, und fügen Sie dem Namen ein< <Verhaltenelement> hinzu, das dem
behaviorConfiguration
Attributwert von Schritt 1 entspricht. Endpunktverhalten werden mithilfe eines EndpunktBehaviors-Elements konfiguriert; Dienstverhalten werden mithilfe eines <ServiceBehaviors-Elements> >konfiguriert.<Fügen Sie dem Verhaltenelement> von Schritt 2 ein ServiceDebug-Element hinzu, und aktivieren oder deaktivieren Sie die verschiedenen Eigenschaften, die< für Ihr Szenario geeignet sind.><
Ein Beispiel hierfür finden Sie im Beispielabschnitt.
Konstruktoren
ServiceDebugBehavior() |
Initialisiert eine neue Instanz der ServiceDebugBehavior-Klasse. |
Eigenschaften
HttpHelpPageBinding |
Ruft den Zugriff auf hoher Ebene auf die Definition einer Bindung ab oder legt ihn fest. |
HttpHelpPageEnabled |
Ruft einen Wert ab oder legt einen Wert fest, der steuert, ob Windows Communication Foundation (WCF) eine HTML-Seite an der Adresse veröffentlicht, die durch die HttpHelpPageUrl-Eigenschaft gesteuert wird. |
HttpHelpPageUrl |
Ruft den Speicherort ab oder legt den Speicherort fest, an dem die HTML-Hilfedatei veröffentlicht wird. |
HttpsHelpPageBinding |
Ruft den Zugriff auf hoher Ebene auf die Definition einer Bindung ab oder legt ihn fest. |
HttpsHelpPageEnabled |
Ruft einen Wert ab oder legt einen Wert fest, der angibt, ob Windows Communication Foundation (WCF) eine HTML-Hilfedatei über HTTPS an der Adresse zurückgibt, die durch die HttpsHelpPageUrl-Eigenschaft gesteuert wird. |
HttpsHelpPageUrl |
Ruft den Speicherort ab oder legt den Speicherort fest, an dem eine HTML-Datei für den Abruf mithilfe von HTTPS veröffentlicht wird. |
IncludeExceptionDetailInFaults |
Ruft einen Wert ab oder legt einen Wert fest, der angibt, ob verwaltete Ausnahmeinformationen in Details der SOAP-Fehler für Debugzwecke an den Client zurückgegeben werden. |
Methoden
Equals(Object) |
Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist. (Geerbt von Object) |
GetHashCode() |
Fungiert als Standardhashfunktion. (Geerbt von Object) |
GetType() |
Ruft den Type der aktuellen Instanz ab. (Geerbt von Object) |
MemberwiseClone() |
Erstellt eine flache Kopie des aktuellen Object. (Geerbt von Object) |
ToString() |
Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Geerbt von Object) |
Explizite Schnittstellenimplementierungen
IServiceBehavior.AddBindingParameters(ServiceDescription, ServiceHostBase, Collection<ServiceEndpoint>, BindingParameterCollection) |
Implementiert die AddBindingParameters(ServiceDescription, ServiceHostBase, Collection<ServiceEndpoint>, BindingParameterCollection)-Methode zur Unterstützung des Verhaltens. |
IServiceBehavior.ApplyDispatchBehavior(ServiceDescription, ServiceHostBase) |
Implementiert die ApplyDispatchBehavior(ServiceDescription, ServiceHostBase)-Methode zur Unterstützung des Verhaltens. |
IServiceBehavior.Validate(ServiceDescription, ServiceHostBase) |
Implementiert die Validate(ServiceDescription, ServiceHostBase)-Methode zur Unterstützung des Verhaltens. |