Partager via


<serviceDebug>

Spécifie les fonctionnalités de débogage et d'informations d'aide pour un service Windows Communication Foundation (WCF).

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

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

Attributs et éléments

Attributs

Attribut Description

httpHelpPageBinding

Valeur de chaîne qui spécifie la liaison à utiliser lorsque le protocole HTTP est utilisé pour accéder à la page d'aide du service.

httpHelpPageEnabled

Valeur booléenne qui contrôle si WCF publie une page d'aide HTML à l'adresse spécifiée par l'attribut httpHelpPageUrl. La valeur par défaut est true.

Vous pouvez affecter la valeur false à cette propriété pour désactiver la publication d'une page d'aide HTML visible par les navigateurs HTML.

Pour vous assurer que la page d'aide HTML est publiée à l'emplacement contrôlé par l'attribut httpHelpPageUrl, vous devez affecter la valeur true à cet attribut. L'une des conditions suivantes doit également être remplie :

  • L'attribut httpHelpPageUrl est une adresse absolue qui prend en charge le schéma de protocole HTTP.
  • Il existe une adresse de base pour le service qui prend en charge le schéma de protocole HTTP.

Bien qu'une exception soit levée si une adresse absolue qui ne prend pas en charge le schéma de protocole HTTP est assignée à l'attribut httpHelpPageUrl, tout autre scénario dans lequel aucun des critères précédents n'est rempli ne lève pas d'exception et ne génère aucune page d'aide HTML.

httpHelpPageUrl

URI qui spécifie l'URL basée sur HTTP relative ou absolue du fichier d'aide HTML personnalisé que l'utilisateur consulte lorsque le point de terminaison est affiché à l'aide d'un navigateur HTML.

Vous pouvez utiliser cet attribut pour activer l'utilisation d'un fichier d'aide HTML personnalisé retourné par une requête HTTP/Get, à partir d'un navigateur HTML par exemple. L'emplacement du fichier d'aide HTML est résolu comme suit.

  1. Si la valeur de cet attribut est une adresse relative, l'emplacement du fichier d'aide HTML correspond à la valeur de l'adresse de base du service qui prend en charge les requêtes HTTP, plus la valeur de cette propriété.
  2. Si la valeur de cet attribut est une adresse absolue et prend en charge les requêtes HTTP, l'emplacement du fichier d'aide HTML correspond à la valeur de cette propriété.
  3. Si la valeur de cet attribut est absolue mais ne prend pas en charge les requêtes HTTP, une exception est levée.

Cet attribut est valide uniquement lorsque l'attribut httpHelpPageEnabled est true.

httpsHelpPageBinding

Valeur de chaîne qui spécifie la liaison à utiliser lorsque le protocole HTTPS est utilisé pour accéder à la page d'aide du service.

httpsHelpPageEnabled

Valeur booléenne qui contrôle si WCF publie une page d'aide HTML à l'adresse spécifiée par l'attribut httpsHelpPageUrl. La valeur par défaut est true.

Vous pouvez affecter la valeur false à cette propriété pour désactiver la publication d'une page d'aide HTML visible par les navigateurs HTML.

Pour vous assurer que la page d'aide HTML est publiée à l'emplacement contrôlé par l'attribut httpsHelpPageUrl, vous devez affecter la valeur true à cet attribut. L'une des conditions suivantes doit également être remplie :

  • L'attribut httpsHelpPageUrl est une adresse absolue qui prend en charge le schéma de protocole HTTPS.
  • Il existe une adresse de base pour le service qui prend en charge le schéma de protocole HTTPS.

Bien qu'une exception soit levée si une adresse absolue qui ne prend pas en charge le schéma de protocole HTTPS est assignée à l'attribut httpsHelpPageUrl, tout autre scénario dans lequel aucun des critères précédents n'est rempli ne lève pas d'exception et ne génère aucune page d'aide HTML.

httpsHelpPageUrl

URI qui spécifie l'URL basée sur HTTPS relative ou absolue du fichier d'aide HTML personnalisé que l'utilisateur consulte lorsque le point de terminaison est affiché à l'aide d'un navigateur HTML.

Vous pouvez utiliser cet attribut pour activer l'utilisation d'un fichier d'aide HTML personnalisé retourné par une requête HTTPS/Get, à partir d'un navigateur HTML par exemple. L'emplacement du fichier d'aide HTML est résolu comme suit :

  • Si la valeur de cette propriété est une adresse relative, l'emplacement du fichier d'aide HTML est la valeur de l'adresse de base du service qui prend en charge les requêtes HTTPS, plus cette valeur de propriété.
  • Si la valeur de cette propriété est une adresse absolue et prend en charge les requêtes HTTPS, l'emplacement du fichier d'aide HTML est la valeur de cette propriété.
  • Si la valeur de cette propriété est absolue mais ne prend pas en charge les requêtes HTTPS, une exception est levée.

Cet attribut est valide uniquement lorsque l'attribut httpHelpPageEnabled est true.

includeExceptionDetailInFaults

Valeur qui spécifie si des informations sur les exceptions managées doivent être incluses dans les informations sur les erreurs SOAP retournées au client à des fins de débogage. La valeur par défaut est false.

Si vous affectez par programme la valeur true à l'attribut, vous pouvez activer le flux d'informations sur les exceptions managées pour le client à des fins de débogage, ainsi que la publication de fichiers d'informations HTML pour les utilisateurs qui parcourent le service avec un navigateur Web.

ms788993.Caution(fr-fr,VS.90).gifAttention :
Le retour des informations sur les exceptions managées aux clients peut entraîner un problème de sécurité. En effet, les détails de l'exception exposent des informations relatives à l'implémentation d'un service interne qui peuvent être utilisées par des clients non autorisés.

Éléments enfants

Aucun.

Éléments parents

Élément Description

<behavior> de <endpointBehaviors>

Spécifie un élément de comportement.

Notes

Affecter à includeExceptionDetailInFaults la valeur true permet au service de retourner toute exception levée même par le code d'application si l'exception n'est pas déclarée à l'aide du FaultContractAttribute. Ce paramètre est utile lors du débogage de cas où le serveur lève une exception inattendue. Avec cet attribut, un formulaire sérialisé de l'exception inconnue est retourné et vous pouvez consulter plus de détails de l'exception.

ms788993.Caution(fr-fr,VS.90).gifAttention :
Le retour d'informations sur les exceptions managées aux clients peut constituer un problème de sécurité, car les détails d'exception exposent des informations relatives à l'implémentation de service interne que des clients non autorisés pourraient utiliser. En raison des risques de sécurité encourus, il est fortement recommandé de n'utiliser cette méthode que dans le cadre de scénarios de débogage contrôlés. Vous devez affecter la valeur false à includeExceptionDetailInFaults lors du déploiement de l'application.

Pour plus d'informations sur les problèmes de sécurité liés aux exceptions managées, consultez Specifying and Handling Faults in Contracts and Services. Pour obtenir un exemple de code, consultez Service Debug Behavior.

Vous pouvez également définir httpsHelpPageEnabled et httpsHelpPageUrl pour activer ou désactiver la page d'aide. Chaque service peut exposer facultativement une page d'aide qui contient des informations à propos du service, y compris le point de terminaison, pour obtenir WSDL pour le service. Pour ce faire, affectez true à httpHelpPageEnabled. Cela active la page d'aide devant être retournée suite à une demande GET à l'adresse de base du service. Pour modifier cette adresse, définissez l'attribut httpHelpPageUrl. En outre, vous pouvez faire sécuriser cette procédure en utilisant HTTPS au lieu de HTTP.

Les attributs facultatifs httpHelpPageBinding et httpHelpPageBinding vous permettent de configurer les liaisons utilisées pour accéder à la page Web du service. S'ils ne sont pas spécifiés, les liaisons par défaut (HttpTransportBindingElement dans le cas de HTTP et HttpsTransportBindingElement dans le cas de HTTPS) sont utilisées pour accéder à la page d'aide du service. Notez que vous ne pouvez pas utiliser ces attributs avec les liaisons WCF intégrées. La prise en charge n'est assurée que pour les liaisons comportant des éléments de liaison internes qui prennent en charge System.ServiceModel.Channels.IReplyChannel. En outre, la propriété System.ServiceModel.Channels.MessageVersion de la liaison doit être System.ServiceModel.Channels.MessageVersion.None.

Voir aussi

Référence

ServiceDebugElement
ServiceDebugBehavior

Autres ressources

Specifying and Handling Faults in Contracts and Services
Handling Exceptions and Faults
Service Debug Behavior