Partager via


<serviceDebug>

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

<Configuration>
   <system.serviceModel>
     <Comportements>
       <serviceBehaviors>
         <comportement>
           <serviceDebug>

Syntaxe

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

Attributs et éléments

Les sections suivantes décrivent des attributs, des éléments enfants et des éléments parents.

Attributes

Caractéristique Descriptif
httpHelpPageBinding Valeur de chaîne qui spécifie le type de liaison à utiliser lorsque HTTP est utilisé pour accéder à la page d’aide du service.

Seules les liaisons avec des éléments de liaison internes qui prennent en charge System.ServiceModel.Channels.IReplyChannel seront prises en charge. En outre, la System.ServiceModel.Channels.MessageVersion propriété de la liaison doit être MessageVersion.None.
httpHelpPageBindingConfiguration Chaîne qui spécifie le nom de la liaison spécifiée dans l’attribut httpHelpPageBinding , qui fait référence aux informations de configuration supplémentaires de cette liaison. Le même nom doit être défini dans la <bindings> section.
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 définir cette propriété pour false 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 définir cet attribut truesur . En outre, 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 affectée à l’attribut httpHelpPageUrl , tout autre scénario dans lequel aucun des critères précédents n’est satisfait n’entraîne aucune exception et aucune page d’aide HTML.
httpHelpPageUrl URI qui spécifie l’URL http relative ou absolue du fichier d’aide HTML personnalisé que l’utilisateur voit quand le point de terminaison est consulté à l’aide d’un navigateur HTML.

Vous pouvez utiliser cet attribut pour activer l’utilisation d’un fichier d’aide HTML personnalisé retourné à partir d’une requête HTTP/Get, par exemple à partir d’un navigateur HTML. 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 est la valeur de l’adresse de base de service qui prend en charge les requêtes HTTP, ainsi que cette valeur de 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 est 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 le type de liaison à utiliser lorsque HTTPS est utilisé pour accéder à la page d’aide du service.

Seules les liaisons avec des éléments de liaison internes qui prennent en charge IReplyChannel seront prises en charge. En outre, la System.ServiceModel.Channels.MessageVersion propriété de la liaison doit être MessageVersion.None.
httpsHelpPageBindingConfiguration Chaîne qui spécifie le nom de la liaison spécifiée dans l’attribut httpsHelpPageBinding , qui fait référence aux informations de configuration supplémentaires de cette liaison. Le même nom doit être défini dans la <bindings> section.
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 définir cette propriété pour false 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 définir cet attribut truesur . En outre, 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 affectée à l’attribut httpsHelpPageUrl , tout autre scénario dans lequel aucun des critères précédents n’est satisfait n’entraîne aucune exception et aucune page d’aide HTML.
httpsHelpPageUrl URI qui spécifie l’URL relative ou absolue basée sur HTTPS du fichier d’aide HTML personnalisé que l’utilisateur voit quand le point de terminaison est consulté à l’aide d’un navigateur HTML.

Vous pouvez utiliser cet attribut pour activer l’utilisation d’un fichier d’aide HTML personnalisé retourné à partir d’une requête HTTPS/Get, par exemple à partir d’un navigateur HTML. 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 de service qui prend en charge les requêtes HTTPS, ainsi que 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 s’il faut inclure des informations d’exception managée dans le détail des erreurs SOAP retournées au client à des fins de débogage. La valeur par défaut est false.

Si vous définissez cet attribut truesur , vous pouvez activer le flux d’informations d’exception managées vers le client à des fins de débogage, ainsi que la publication de fichiers d’informations HTML pour les utilisateurs qui parcourent le service dans les navigateurs Web. Attention: Le renvoi d’informations sur les exceptions managées aux clients peut être un risque de sécurité. Cela est dû au fait que les détails de l’exception exposent des informations sur l’implémentation de service interne qui peuvent être utilisées par des clients non autorisés.

Éléments enfants

Aucun.

Éléments parents

Élément Descriptif
<comportement> Spécifie un élément de comportement.

Remarques

Le paramètre includeExceptionDetailInFaults permettant true au service de retourner une exception levée par le code de l’application, même si l’exception n’est pas déclarée à l’aide du FaultContractAttribute. Ce paramètre est utile lors du débogage des cas où le serveur lève une exception inattendue. À l’aide de cet attribut, une forme sérialisée de l’exception inconnue est retournée et vous pouvez examiner plus de détails de l’exception.

Caution

Le renvoi d’informations d’exception managée aux clients peut être un risque de sécurité, car les détails de l’exception exposent des informations sur l’implémentation de service interne qui peuvent être utilisées par des clients non autorisés. En raison des problèmes de sécurité impliqués, il est fortement recommandé de le faire uniquement dans les scénarios de débogage contrôlé. Vous devez définir la valeur includeExceptionDetailInFaultsfalse lors du déploiement de votre application.

Pour plus d’informations sur les problèmes de sécurité liés à l’exception managée, consultez Spécification et gestion des erreurs dans les contrats et les services. Pour obtenir un exemple de code, consultez Comportement de débogage du service.

Vous pouvez également définir httpsHelpPageEnabled et httpsHelpPageUrl activer ou 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 l’attribut httpHelpPageUrl . En outre, vous pouvez sécuriser cette sécurité à l’aide du protocole HTTPS au lieu de HTTP.

Les attributs et httpHelpPageBinding facultatifs 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 (HttpTransportBindingElementdans le cas de HTTP et HttpsTransportBindingElement, dans le cas de HTTPS) sont utilisées pour l’accès à la page d’aide du service selon les besoins. Notez que vous ne pouvez pas utiliser ces attributs avec les liaisons WCF intégrées. Seules les liaisons avec des éléments de liaison interne qui prennent en charge xref :System.ServiceModel.Channels.IReplyChannel> seront prises en charge. En outre, la System.ServiceModel.Channels.MessageVersion propriété de la liaison doit être MessageVersion.None.

Voir aussi