<serviceDebug>

Určuje funkce ladění a nápovědy pro službu Windows Communication Foundation (WCF).

<Konfigurace>
  <System.servicemodel>
    <Chování>
      <serviceBehaviors>
        <Chování>
          <serviceDebug>

Syntax

<serviceDebug httpHelpPageBinding="String"
              httpHelpPageBindingConfiguration="String"
              httpHelpPageEnabled="Boolean"
              httpHelpPageUrl="Uri"
              httpsHelpPageBinding="String"
              httpsHelpPageBindingConfiguration="String"
              httpsHelpPageEnabled="Boolean"
              httpsHelpPageUrl="Uri"
              includeExceptionDetailInFaults="Boolean" />

Atributy a elementy

Následující části popisují atributy, podřízené prvky a nadřazené prvky.

Atributy

Atribut Popis
httpHelpPageBinding Řetězcová hodnota, která určuje typ vazby, která se má použít při použití protokolu HTTP pro přístup ke stránce nápovědy služby.

Budou podporovány pouze vazby s vnitřními prvky vazby, které podporují System.ServiceModel.Channels.IReplyChannel . Kromě toho System.ServiceModel.Channels.MessageVersion musí být MessageVersion.Nonevlastnost vazby .
httpHelpPageBindingConfiguration Řetězec, který určuje název vazby zadané v atributu httpHelpPageBinding , který odkazuje na další konfigurační informace této vazby. Stejný název musí být definován v oddílu <bindings> .
httpHelpPageEnabled Logická hodnota, která určuje, zda WCF publikuje stránku nápovědy HTML na adrese určené atributem httpHelpPageUrl . Výchozí formát je true.

Pokud chcete zakázat publikování stránky nápovědy HTML viditelné v prohlížečích HTML, můžete tuto vlastnost nastavit na false hodnotu .

Chcete-li zajistit, aby byla stránka nápovědy HTML publikována v umístění řízeném atributem httpHelpPageUrl , musíte tento atribut nastavit na truehodnotu . Kromě toho musí být splněna také jedna z následujících podmínek:

– Atribut httpHelpPageUrl je absolutní adresa, která podporuje schéma protokolu HTTP.
– Existuje základní adresa služby, která podporuje schéma protokolu HTTP.

Přestože je vyvolána výjimka, pokud je atributu httpHelpPageUrl přiřazena absolutní adresa, která nepodporuje schéma protokolu HTTP, žádný jiný scénář, ve kterém není splněno žádné z předchozích kritérií, nemá za následek žádnou výjimku ani stránku nápovědy HTML.
httpHelpPageUrl Identifikátor URI, který určuje relativní nebo absolutní adresu URL založenou na protokolu HTTP vlastního souboru nápovědy HTML, který uživatel uvidí při zobrazení koncového bodu pomocí prohlížeče HTML.

Tento atribut můžete použít k povolení použití vlastního souboru nápovědy HTML, který je vrácen z požadavku HTTP/Get, například z prohlížeče HTML. Umístění souboru nápovědy HTML je vyřešeno následujícím způsobem.

1. Pokud je hodnota tohoto atributu relativní adresa, umístění souboru nápovědy HTML je hodnota základní adresy služby, která podporuje požadavky HTTP, plus tato hodnota vlastnosti.
2. Pokud je hodnota tohoto atributu absolutní adresa a podporuje požadavky HTTP, umístění souboru nápovědy HTML je hodnotou této vlastnosti.
3. Pokud je hodnota tohoto atributu absolutní, ale nepodporuje požadavky HTTP, vyvolá se výjimka.

Tento atribut je platný pouze v případě, že httpHelpPageEnabled je trueatribut .
httpsHelpPageBinding Řetězcová hodnota, která určuje typ vazby, která se má použít při použití protokolu HTTPS pro přístup ke stránce nápovědy služby.

Budou podporovány pouze vazby s vnitřními prvky vazby, které podporují IReplyChannel . Kromě toho System.ServiceModel.Channels.MessageVersion musí být MessageVersion.Nonevlastnost vazby .
httpsHelpPageBindingConfiguration Řetězec, který určuje název vazby zadané v atributu httpsHelpPageBinding , který odkazuje na další konfigurační informace této vazby. Stejný název musí být definován v oddílu <bindings> .
httpsHelpPageEnabled Logická hodnota, která určuje, zda WCF publikuje stránku nápovědy HTML na adrese určené atributem httpsHelpPageUrl . Výchozí formát je true.

Pokud chcete zakázat publikování stránky nápovědy HTML viditelné v prohlížečích HTML, můžete tuto vlastnost nastavit na false hodnotu .

Chcete-li zajistit, aby byla stránka nápovědy HTML publikována v umístění řízeném atributem httpsHelpPageUrl , musíte tento atribut nastavit na truehodnotu . Kromě toho musí být splněna také jedna z následujících podmínek:

– Atribut httpsHelpPageUrl je absolutní adresa, která podporuje schéma protokolu HTTPS.
– Existuje základní adresa služby, která podporuje schéma protokolu HTTPS.

I když je atributu přiřazena absolutní adresa, která nepodporuje schéma protokolu HTTPS, je vyvolána httpsHelpPageUrl výjimka, jakýkoli jiný scénář, ve kterém není splněno žádné z předchozích kritérií, vede k žádné výjimce a žádné stránce nápovědy HTML.
httpsHelpPageUrl Identifikátor URI, který určuje relativní nebo absolutní adresu URL založenou na protokolu HTTPS vlastního souboru nápovědy HTML, který uživatel uvidí při zobrazení koncového bodu pomocí prohlížeče HTML.

Tento atribut můžete použít k povolení použití vlastního souboru nápovědy HTML, který je vrácen z požadavku HTTPS/Get, například z prohlížeče HTML. Umístění souboru nápovědy HTML je vyřešeno následujícím způsobem:

– Pokud je hodnotou této vlastnosti relativní adresa, je umístěním souboru nápovědy HTML hodnota základní adresy služby, která podporuje požadavky HTTPS, plus tato hodnota vlastnosti.
- Pokud je hodnota této vlastnosti absolutní adresa a podporuje požadavky HTTPS, umístění souboru nápovědy HTML je hodnotou této vlastnosti.
– Pokud je hodnota této vlastnosti absolutní, ale nepodporuje požadavky HTTPS, vyvolá se výjimka.

Tento atribut je platný pouze v případě, že httpHelpPageEnabled je trueatribut .
Includeexceptiondetailinfaults Hodnota, která určuje, zda se mají zahrnout informace o spravovaných výjimkách do podrobností o chybách PROTOKOLU SOAP vrácených klientovi pro účely ladění. Výchozí formát je false.

Pokud nastavíte tento atribut na truehodnotu , můžete povolit tok informací o spravovaných výjimkách klientovi pro účely ladění a také publikování informačních souborů HTML pro uživatele procházející službou ve webových prohlížečích. Pozor: Vrácení informací o spravovaných výjimce klientům může být bezpečnostní riziko. Důvodem je to, že podrobnosti o výjimce zveřejňují informace o implementaci interní služby, které by mohli používat neautorizovanými klienty.

Podřízené elementy

Žádné

Nadřazené elementy

Element Popis
<Chování> Určuje chování element.

Poznámky

Nastavení includeExceptionDetailInFaults umožňující true službě vracet výjimku vyvolanou kódem aplikace i v případě, že výjimka není deklarována pomocí FaultContractAttribute. Toto nastavení je užitečné při ladění případů, kdy server vyvolává neočekávanou výjimku. Pomocí tohoto atributu se vrátí serializovaná forma neznámé výjimky a můžete prozkoumat další podrobnosti o výjimce.

Upozornění

Vrácení informací o spravovaných výjimce klientům může být bezpečnostní riziko, protože podrobnosti o výjimce zveřejňují informace o implementaci interní služby, které by mohli používat neautorizovanými klienty. Vzhledem k souvisejícím problémům se zabezpečením se důrazně doporučuje, abyste to dělali jenom ve scénářích řízeného ladění. Při nasazování aplikace byste měli nastavit includeExceptionDetailInFaults na false hodnotu .

Podrobnosti o problémech zabezpečení souvisejících se spravovanými výjimkami najdete v tématu Určení a zpracování chyb v kontraktech a službách. Ukázku kódu najdete v tématu Chování ladění služby.

Můžete také nastavit httpsHelpPageEnabled a httpsHelpPageUrl a povolit nebo zakázat stránku nápovědy. Každá služba může volitelně zveřejnit stránku nápovědy, která obsahuje informace o službě včetně koncového bodu pro získání WSDL pro službu. To je možné povolit nastavením httpHelpPageEnabled na true. To umožňuje, aby se stránka nápovědy vrátila do požadavku GET na základní adresu služby. Tuto adresu můžete změnit nastavením atributu httpHelpPageUrl . Kromě toho to můžete zabezpečit pomocí protokolu HTTPS místo protokolu HTTP.

Volitelné httpHelpPageBinding atributy a httpHelpPageBinding umožňují konfigurovat vazby používané pro přístup k webové stránce služby. Pokud nejsou zadané, použijí se výchozí vazby (HttpTransportBindingElementv případě HTTP a HttpsTransportBindingElement, v případě HTTPS) pro přístup ke stránkám nápovědy služby podle potřeby. Všimněte si, že tyto atributy nelze použít s předdefinované vazby WCF. Budou podporovány pouze vazby s vnitřními prvky vazby, které podporují xref:System.ServiceModel.Channels.IReplyChannel> . Kromě toho System.ServiceModel.Channels.MessageVersion musí být MessageVersion.Nonevlastnost vazby .

Viz také