Partager via


Comportement de débogage du service

L’exemple ServiceDebug montre comment les paramètres de comportement de débogage de service peuvent être configurés. L’exemple est basé sur Getting Started, qui implémente le contrat de service ICalculator. Cet exemple définit explicitement le comportement de débogage de service dans le fichier de configuration. Elle peut également être effectuée impérativement dans le code.

Dans cet exemple, le client est une application console (.exe) et le service est hébergé par les services IIS (Internet Information Services).

Remarque

La procédure d’installation et les instructions de génération de cet exemple se trouvent à la fin de cette rubrique.

Le fichier Web.config du serveur définit le comportement de débogage du service pour activer la page d’aide et la gestion des exceptions, comme indiqué dans l’exemple suivant.

<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> est l’élément de configuration qui permet de modifier les propriétés de comportement de débogage du service. L’utilisateur peut modifier ce comportement pour obtenir les éléments suivants :

  • Cela permet au service de retourner toute exception levée par le code de l’application même si l’exception n’est pas déclarée à l’aide du FaultContractAttribute. Elle est effectuée en définissant includeExceptionDetailInFaults sur true. Ce paramètre est utile lors du débogage de cas où le serveur lève une exception inattendue.

    Importante

    Il n’est pas sûr d’activer ce paramètre dans un environnement de production. Une exception de serveur inattendue peut contenir certaines informations qui ne sont pas destinées au client et ainsi définir includeExceptionDetailsInFaults pour true entraîner une fuite d’informations.

  • ServiceDebug<> permet également à un utilisateur d’activer ou de désactiver la page d’aide. Chaque service peut éventuellement exposer une page d’aide qui contient des informations sur le service, y compris le point de terminaison pour obtenir WSDL pour le service. Cela peut être activé en définissant httpHelpPageEnabled sur true. Cela permet à la page d’aide d’être retournée à une requête GET à l’adresse de base du service. Vous pouvez modifier cette adresse en définissant un autre attribut httpHelpPageUrl. Vous pouvez sécuriser cette opération à l’aide du protocole HTTPS au lieu de HTTP. Pour ce faire, définissez httpsHelpPageEnabled et httpsHelpPageUrl.

Lorsque vous exécutez l’exemple, les demandes et réponses de l’opération s’affichent dans la fenêtre de la console cliente. Les trois premières opérations (Ajouter, Soustraire et Multiplier) doivent réussir. La dernière (division) échoue avec une exception de division par zéro.

Pour configurer, générer et exécuter l’exemple

  1. Assurez-vous d’avoir effectué la Procédure d’installation unique pour les exemples Windows Communication Foundation.

  2. Pour générer l’édition C# ou Visual Basic .NET de la solution, conformez-vous aux instructions figurant dans Building the Windows Communication Foundation Samples.

  3. Pour exécuter l’exemple dans une configuration à un ou plusieurs ordinateurs, conformez-vous aux instructions figurant dans la rubrique Exécution des exemples Windows Communication Foundation.