<serviceDebug>
Spécifie les fonctionnalités de débogage et d'informations d'aide pour un service Windows Communication Foundation (WCF).
Hiérarchie de schéma
<system.serviceModel>
<behaviors>
<serviceBehaviors>
<behavior> de <serviceBehaviors>
<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.
Attributs
Attribut | Description |
---|---|
httpHelpPageBinding |
Valeur de chaîne qui spécifie le type de liaison à utiliser lorsque le protocole HTTP permet d'accéder à la page d'aide du service. 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. |
httpHelpPageBindingConfiguration |
Chaîne qui définit 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 section <bindings>. |
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 :
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.
Cet attribut est valide uniquement lorsque l'attribut httpHelpPageEnabled a la valeur true. |
httpsHelpPageBinding |
Valeur de chaîne qui spécifie le type de liaison à utiliser lorsque le protocole HTTPS permet d'accéder à la page d'aide du service. 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. |
httpsHelpPageBindingConfiguration |
Chaîne qui définit 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 section <bindings>. |
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 :
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 :
Cet attribut est valide uniquement lorsque l'attribut httpHelpPageEnabled a la valeur 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.
Attention :
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 |
---|---|
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.
Attention : |
---|
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