Freigeben über


ServiceDebugBehavior Klasse

Definition

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:

<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:

  1. Fügen Sie dem <Dienstelement für Ihren WCF-Dienst> ein behaviorConfiguration Attribut hinzu. Endpunktverhalten werden auf Elementen konfiguriert; Dienstverhalten auf <endpoint> <Dienstelementen> .

  2. 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.<

  3. 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.

Gilt für