ServiceDebugBehavior Klasa

Definicja

Umożliwia debugowanie i funkcje informacji pomocy dla usługi Windows Communication Foundation (WCF).

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
Dziedziczenie
ServiceDebugBehavior
Implementuje

Przykłady

Poniższy przykład kodu pokazuje, jak użyć pliku konfiguracji, aby włączyć funkcję strony pomocy HTML i zwrócić informacje o wyjątku wewnątrz błędu protokołu SOAP z powrotem do klienta na potrzeby debugowania, oprócz włączania obsługi metadanych. Ten plik konfiguracji przedstawia następujące podstawowe kroki dodawania ServiceDebugBehavior obsługi funkcji:

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

Uwagi

ServiceDebugBehavior Użyj właściwości z pliku konfiguracji lub programowo, aby umożliwić klientowi przepływ informacji o wyjątkach zarządzanych do celów debugowania, a także publikację plików informacyjnych HTML dla użytkowników przeglądających usługę w przeglądarkach sieci Web.

IncludeExceptionDetailInFaults Ustaw właściwość na , aby true instruować program WCF, aby zwracał informacje o wyjątkach zarządzanych w błędach protokołu SOAP do klientów na potrzeby debugowania.

Przestroga

Zwracanie informacji o wyjątkach zarządzanych klientom może stanowić zagrożenie bezpieczeństwa, ponieważ szczegóły wyjątku ujawniają informacje o implementacji usługi wewnętrznej, które mogą być używane przez nieautoryzowanych klientów. Ponadto, mimo że ServiceDebugBehavior właściwości można również ustawić programowo, można łatwo zapomnieć o wyłączeniu IncludeExceptionDetailInFaults podczas wdrażania.

Ze względu na problemy z zabezpieczeniami zdecydowanie zaleca się:

  • Użyj pliku konfiguracji aplikacji, aby ustawić wartość IncludeExceptionDetailInFaults właściwości na true.

  • Można to zrobić tylko w kontrolowanych scenariuszach debugowania.

Aby uzyskać więcej informacji na temat problemów z zabezpieczeniami związanych z informacjami o wyjątkach zarządzanych, zobacz Określanie i obsługa błędów w kontraktach i usługach.

Właściwości HttpHelpPageEnabled i HttpsHelpPageEnabled instruują usługę, aby publikowała pliki pomocy HTML po wyświetleniu usługi przy użyciu przeglądarki HTML.

Właściwości HttpHelpPageUrl i HttpsHelpPageUrl kontrolują lokalizację wyświetlanej strony pomocy HTML.

Aby włączyć lub wyłączyć jedną z ServiceDebugBehavior funkcji przy użyciu pliku konfiguracji:

  1. behaviorConfiguration Dodaj atrybut do <elementu usługi> dla usługi WCF. Zachowania punktów końcowych są konfigurowane w <endpoint> elementach; zachowania usługi w <elementach usługi> .

  2. Dodaj do lub utwórz sekcję <serviceBehaviors> i dodaj <do tego element zachowania> o nazwie zgodnej z wartością atrybutu behaviorConfiguration z kroku 1. Zachowania punktu końcowego <są konfigurowane przy użyciu elementu endpointBehaviors> . Zachowania usługi są konfigurowane przy użyciu <elementu serviceBehaviors> .

  3. <Dodaj element serviceDebug> do <elementu zachowania> z kroku 2 i włącz lub wyłącz różne właściwości odpowiednie dla danego scenariusza.

Aby zapoznać się z konkretnym przykładem, zobacz sekcję Przykład.

Konstruktory

ServiceDebugBehavior()

Inicjuje nowe wystąpienie klasy ServiceDebugBehavior.

Właściwości

HttpHelpPageBinding

Pobiera lub ustawia dostęp wysokiego poziomu do definicji powiązania.

HttpHelpPageEnabled

Pobiera lub ustawia wartość, która kontroluje, czy Windows Communication Foundation (WCF) publikuje stronę pomocy HTML pod adresem kontrolowanym HttpHelpPageUrl przez właściwość.

HttpHelpPageUrl

Pobiera lub ustawia lokalizację, w której jest publikowany plik pomocy HTML.

HttpsHelpPageBinding

Pobiera lub ustawia dostęp wysokiego poziomu do definicji powiązania.

HttpsHelpPageEnabled

Pobiera lub ustawia wartość określającą, czy program Windows Communication Foundation (WCF) zwraca plik pomocy HTML za pośrednictwem protokołu HTTPS pod adresem kontrolowanym HttpsHelpPageUrl przez właściwość .

HttpsHelpPageUrl

Pobiera lub ustawia lokalizację, w której plik HTML jest publikowany do pobierania przy użyciu protokołu HTTPS.

IncludeExceptionDetailInFaults

Pobiera lub ustawia wartość określającą, czy należy uwzględnić informacje o wyjątkach zarządzanych w szczegółach błędów protokołu SOAP zwracanych do klienta na potrzeby debugowania.

Metody

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetType()

Type Pobiera wartość bieżącego wystąpienia.

(Odziedziczone po Object)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)

Jawne implementacje interfejsu

IServiceBehavior.AddBindingParameters(ServiceDescription, ServiceHostBase, Collection<ServiceEndpoint>, BindingParameterCollection)

Implementuje metodę AddBindingParameters(ServiceDescription, ServiceHostBase, Collection<ServiceEndpoint>, BindingParameterCollection) do obsługi zachowania.

IServiceBehavior.ApplyDispatchBehavior(ServiceDescription, ServiceHostBase)

Implementuje metodę ApplyDispatchBehavior(ServiceDescription, ServiceHostBase) do obsługi zachowania.

IServiceBehavior.Validate(ServiceDescription, ServiceHostBase)

Implementuje metodę Validate(ServiceDescription, ServiceHostBase) do obsługi zachowania.

Dotyczy