Delen via


<serviceDebug>

Hiermee geeft u foutopsporing en help-informatiefuncties voor een WCF-service (Windows Communication Foundation) op.

<configuration>
  <system.serviceModel>
    <behaviors>
      <serviceBehaviors>
        <behavior>
          <serviceDebug>

Syntaxis

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

Kenmerken en elementen

In de volgende secties worden kenmerken, onderliggende elementen en bovenliggende elementen beschreven.

Attributes

Attribute Description
httpHelpPageBinding Een tekenreekswaarde die aangeeft welk type binding moet worden gebruikt wanneer HTTP wordt gebruikt voor toegang tot de Help-pagina van de service.

Alleen bindingen met binnenste bindingselementen die ondersteuning System.ServiceModel.Channels.IReplyChannel bieden, worden ondersteund. Daarnaast moet de System.ServiceModel.Channels.MessageVersion eigenschap van de binding zijn MessageVersion.None.
httpHelpPageBindingConfiguration Een tekenreeks die de naam aangeeft van de binding die is opgegeven in het httpHelpPageBinding kenmerk, die verwijst naar de aanvullende configuratie-informatie van deze binding. Dezelfde naam moet worden gedefinieerd in de <bindings> sectie.
httpHelpPageEnabled Een Booleaanse waarde die bepaalt of WCF een HTML-Help-pagina publiceert op het adres dat is opgegeven door het httpHelpPageUrl kenmerk. De standaardwaarde is true.

U kunt deze eigenschap instellen om false de publicatie van een HTML-Help-pagina die zichtbaar is voor HTML-browsers uit te schakelen.

Om ervoor te zorgen dat de HTML-Help-pagina wordt gepubliceerd op de locatie die wordt beheerd door het httpHelpPageUrl kenmerk, moet u dit kenmerk instellen op true. Daarnaast moet aan een van de volgende voorwaarden worden voldaan:

- Het httpHelpPageUrl kenmerk is een absoluut adres dat ondersteuning biedt voor het HTTP-protocolschema.
- Er is een basisadres voor de service die ondersteuning biedt voor het HTTP-protocolschema.

Hoewel er een uitzondering wordt gegenereerd als een absoluut adres dat het HTTP-protocolschema niet ondersteunt, wordt toegewezen aan het httpHelpPageUrl kenmerk, resulteert elk ander scenario waarin aan geen van de voorgaande criteria wordt voldaan, geen uitzondering en geen HTML-helppagina.
httpHelpPageUrl Een URI die de relatieve of absolute HTTP-URL van het aangepaste HTML-Help-bestand aangeeft dat de gebruiker ziet wanneer het eindpunt wordt bekeken met behulp van een HTML-browser.

U kunt dit kenmerk gebruiken om het gebruik in te schakelen van een aangepast HTML-Help-bestand dat wordt geretourneerd door een HTTP/Get-aanvraag, bijvoorbeeld vanuit een HTML-browser. De locatie van het HTML-Help-bestand wordt als volgt opgelost.

1. Als de waarde van dit kenmerk een relatief adres is, is de locatie van het HTML-Help-bestand de waarde van het servicebasisadres dat HTTP-aanvragen ondersteunt, plus deze eigenschapswaarde.
2. Als de waarde van dit kenmerk een absoluut adres is en HTTP-aanvragen ondersteunt, is de locatie van het HTML-Help-bestand de waarde van deze eigenschap.
3. Als de waarde van dit kenmerk absoluut is maar geen HTTP-aanvragen ondersteunt, wordt er een uitzondering gegenereerd.

Dit kenmerk is alleen geldig wanneer het httpHelpPageEnabled kenmerk is true.
httpsHelpPageBinding Een tekenreekswaarde die aangeeft welk type binding moet worden gebruikt wanneer HTTPS wordt gebruikt voor toegang tot de Help-pagina van de service.

Alleen bindingen met binnenste bindingselementen die ondersteuning IReplyChannel bieden, worden ondersteund. Daarnaast moet de System.ServiceModel.Channels.MessageVersion eigenschap van de binding zijn MessageVersion.None.
httpsHelpPageBindingConfiguration Een tekenreeks die de naam aangeeft van de binding die is opgegeven in het httpsHelpPageBinding kenmerk, die verwijst naar de aanvullende configuratie-informatie van deze binding. Dezelfde naam moet worden gedefinieerd in de <bindings> sectie.
httpsHelpPageEnabled Een Booleaanse waarde die bepaalt of WCF een HTML-Help-pagina publiceert op het adres dat is opgegeven door het httpsHelpPageUrl kenmerk. De standaardwaarde is true.

U kunt deze eigenschap instellen om false de publicatie van een HTML-Help-pagina die zichtbaar is voor HTML-browsers uit te schakelen.

Om ervoor te zorgen dat de HTML-Help-pagina wordt gepubliceerd op de locatie die wordt beheerd door het httpsHelpPageUrl kenmerk, moet u dit kenmerk instellen op true. Daarnaast moet aan een van de volgende voorwaarden worden voldaan:

- Het httpsHelpPageUrl kenmerk is een absoluut adres dat ondersteuning biedt voor het HTTPS-protocolschema.
- Er is een basisadres voor de service die ondersteuning biedt voor het HTTPS-protocolschema.

Hoewel er een uitzondering wordt gegenereerd als een absoluut adres dat het HTTPS-protocolschema niet ondersteunt, wordt toegewezen aan het httpsHelpPageUrl kenmerk, resulteert elk ander scenario waarin aan geen van de voorgaande criteria wordt voldaan, geen uitzondering en geen HTML-helppagina.
httpsHelpPageUrl Een URI die de relatieve of absolute HTTPS-URL van het aangepaste HTML-Help-bestand aangeeft dat de gebruiker ziet wanneer het eindpunt wordt bekeken met behulp van een HTML-browser.

U kunt dit kenmerk gebruiken om het gebruik in te schakelen van een aangepast HTML-Help-bestand dat wordt geretourneerd door een HTTPS/Get-aanvraag, bijvoorbeeld vanuit een HTML-browser. De locatie van het HTML-Help-bestand wordt als volgt opgelost:

- Als de waarde van deze eigenschap een relatief adres is, is de locatie van het HTML-Help-bestand de waarde van het servicebasisadres dat HTTPS-aanvragen ondersteunt, plus deze eigenschapswaarde.
- Als de waarde van deze eigenschap een absoluut adres is en HTTPS-aanvragen ondersteunt, is de locatie van het HTML-Help-bestand de waarde van deze eigenschap.
- Als de waarde van deze eigenschap absoluut is, maar https-aanvragen niet ondersteunt, wordt er een uitzondering gegenereerd.

Dit kenmerk is alleen geldig wanneer het httpHelpPageEnabled kenmerk is true.
includeExceptionDetailInFaults Een waarde die aangeeft of beheerde uitzonderingsgegevens moeten worden opgenomen in de details van SOAP-fouten die worden geretourneerd naar de client voor foutopsporing. De standaardwaarde is false.

Als u dit kenmerk trueinstelt op, kunt u de stroom van beheerde uitzonderingsgegevens naar de client inschakelen voor foutopsporingsdoeleinden, evenals de publicatie van HTML-informatiebestanden voor gebruikers die door de service bladeren in webbrowsers. Voorzichtigheid: Het retourneren van beheerde uitzonderingsgegevens aan clients kan een beveiligingsrisico zijn. Dit komt doordat uitzonderingsdetails informatie beschikbaar maken over de interne service-implementatie die kan worden gebruikt door onbevoegde clients.

Kind-elementen

Geen.

Bovenliggende elementen

Onderdeel Description
<gedrag> Hiermee geeft u een gedragselement.

Opmerkingen

Instelling includeExceptionDetailInFaults waarmee true de service eventuele uitzonderingen kan retourneren die door de toepassingscode wordt gegenereerd, zelfs als de uitzondering niet wordt gedeclareerd met behulp van de FaultContractAttribute. Deze instelling is handig bij het opsporen van fouten waarbij de server een onverwachte uitzondering genereert. Door dit kenmerk te gebruiken, wordt een geserialiseerde vorm van de onbekende uitzondering geretourneerd en kunt u meer details van de uitzondering onderzoeken.

Waarschuwing

Het retourneren van beheerde uitzonderingsinformatie aan clients kan een beveiligingsrisico zijn, omdat met uitzonderingsdetails informatie wordt weergegeven over de interne service-implementatie die kan worden gebruikt door onbevoegde clients. Vanwege de betrokken beveiligingsproblemen wordt het sterk aanbevolen dat u dit alleen doet in scenario's voor gecontroleerde foutopsporing. U moet deze instellen includeExceptionDetailInFaultsfalse bij het implementeren van uw toepassing.

Zie Fouten opgeven en afhandelen in contracten en services voor meer informatie over de beveiligingsproblemen met betrekking tot beheerde uitzonderingen. Zie Service Debug Behavior voor een codevoorbeeld.

U kunt ook de Help-pagina instellen httpsHelpPageEnabled en httpsHelpPageUrl uitschakelen. Elke service kan eventueel een Help-pagina weergeven die informatie bevat over de service, inclusief het eindpunt om WSDL voor de service op te halen. Dit kan worden ingeschakeld door in te stellen httpHelpPageEnabled op true. Hierdoor kan de Help-pagina worden geretourneerd naar een GET-aanvraag naar het basisadres van de service. U kunt dit adres wijzigen door het httpHelpPageUrl kenmerk in te stellen. Bovendien kunt u dit veilig maken met behulp van HTTPS in plaats van HTTP.

Met de optionele httpHelpPageBinding kenmerken kunt httpHelpPageBinding u de bindingen configureren die worden gebruikt voor toegang tot de servicewebpagina. Als ze niet zijn opgegeven, worden de standaardbindingen (HttpTransportBindingElementin het geval van HTTP en HttpsTransportBindingElementin het geval van HTTPS) gebruikt voor toegang tot de help-pagina van de service, indien van toepassing. U kunt deze kenmerken niet gebruiken met de ingebouwde WCF-bindingen. Alleen bindingen met binnenste bindingselementen die ondersteuning bieden voor xref:System.ServiceModel.Channels.IReplyChannel> worden ondersteund. Daarnaast moet de System.ServiceModel.Channels.MessageVersion eigenschap van de binding zijn MessageVersion.None.

Zie ook