Gedrag van serviceopsporing
Het servicedebug-voorbeeld laat zien hoe instellingen voor foutopsporing van de service kunnen worden geconfigureerd. Het voorbeeld is gebaseerd op aan de slag, waarmee het ICalculator
servicecontract wordt geïmplementeerd. In dit voorbeeld wordt het foutopsporingsgedrag van de service expliciet gedefinieerd in het configuratiebestand. Het kan ook imperatief worden uitgevoerd in code.
In dit voorbeeld is de client een consoletoepassing (.exe) en wordt de service gehost door Internet Information Services (IIS).
Notitie
De installatieprocedure en build-instructies voor dit voorbeeld bevinden zich aan het einde van dit onderwerp.
Het Web.config-bestand voor de server definieert het gedrag voor foutopsporing van de service om de Help-pagina en uitzonderingsafhandeling in te schakelen, zoals wordt weergegeven in het volgende voorbeeld.
<behaviors>
<serviceBehaviors>
<behavior name="CalculatorServiceBehavior">
<!-- WARNING: Setting includeExceptionDetailInFaults = "True" could result in leaking secured server information to the client.-->
<!-- Please set this to false when deploying -->
<serviceDebug includeExceptionDetailInFaults="True" httpHelpPageEnabled="True"/>
</behavior>
</serviceBehaviors>
</behaviors>
<serviceDebug is het configuratie-element waarmee de eigenschappen van het gedrag voor foutopsporing> van de service kunnen worden gewijzigd. De gebruiker kan dit gedrag wijzigen om het volgende te bereiken:
Hierdoor kan de service elke uitzondering retourneren die wordt gegenereerd door de toepassingscode, zelfs als de uitzondering niet wordt gedeclareerd met behulp van de FaultContractAttribute. Dit wordt gedaan door in te stellen
includeExceptionDetailInFaults
optrue
. Deze instelling is handig bij het opsporen van fouten waarbij de server een onverwachte uitzondering genereert.Belangrijk
Het is niet veilig om deze instelling in te schakelen in een productieomgeving. Een onverwachte serveruitzondering kan bepaalde informatie bevatten die niet is bedoeld voor de client en daarom kan de instelling
includeExceptionDetailsInFaults
omtrue
een informatielek te veroorzaken.Met <serviceDebug> kan een gebruiker ook de Help-pagina in- of 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
optrue
. Hierdoor kan de Help-pagina worden geretourneerd naar een GET-aanvraag naar het basisadres van de service. U kunt dit adres wijzigen door een ander kenmerk inhttpHelpPageUrl
te stellen. U kunt dit beveiligen met behulp van HTTPS in plaats van HTTP. Dit kan worden gedaan door in te stellenhttpsHelpPageEnabled
enhttpsHelpPageUrl
.
Wanneer u het voorbeeld uitvoert, worden de bewerkingsaanvragen en -antwoorden weergegeven in het clientconsolevenster. De eerste drie bewerkingen (optellen, aftrekken en vermenigvuldigen) moeten slagen. De laatste bewerking ('delen') mislukt met een deling door nuluitzondering.
Het voorbeeld instellen, compileren en uitvoeren
Zorg ervoor dat u de eenmalige installatieprocedure voor de Windows Communication Foundation-voorbeelden hebt uitgevoerd.
Als u de C# of Visual Basic .NET-editie van de oplossing wilt bouwen, volgt u de instructies in het bouwen van de Windows Communication Foundation-voorbeelden.
Als u het voorbeeld wilt uitvoeren in een configuratie met één of meerdere computers, volgt u de instructies in Het uitvoeren van de Windows Communication Foundation-voorbeelden.