ServiceDebugBehavior Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Active les fonctionnalités de débogage et d’informations d’aide pour un service Windows Communication Foundation (WCF).
public ref class ServiceDebugBehavior : System::ServiceModel::Description::IServiceBehavior
public class ServiceDebugBehavior : System.ServiceModel.Description.IServiceBehavior
type ServiceDebugBehavior = class
interface IServiceBehavior
Public Class ServiceDebugBehavior
Implements IServiceBehavior
- Héritage
-
ServiceDebugBehavior
- Implémente
Exemples
L'exemple de code suivant indique comment utiliser un fichier de configuration pour activer la fonctionnalité de page d'aide HTML et retourner au client des informations relatives aux exceptions dans une erreur SOAP à des fins de débogage (en plus de l'activation de la prise en charge des métadonnées). Ce fichier de configuration illustre les étapes de base suivantes permettant de prévoir la prise en charge des fonctionnalités ServiceDebugBehavior :
Étant donné que le ServiceDebugBehavior type est une System.ServiceModel.Description.IServiceBehavior implémentation, l’élément <de service> qui représente le type de service a un identificateur de configuration de comportement de
behaviorConfiguration="metadataAndDebug"
.Étant donné que le ServiceDebugBehavior type est une implémentation, System.ServiceModel.Description.IServiceBehavior un <élément de comportement> est ajouté à une <section serviceBehaviors> . Définissez l’attribut
name
de l’élément <de comportement> dont la valeur est l’identificateur de l’attributbehaviorConfiguration
de l’élément <de service> . Dans ce cas, la valeur estmetadataAndDebug
.Ajoutez un <élément serviceDebug> avec les différents attributs définis sur la configuration souhaitée. Dans ce cas, les valeurs d'attribut
httpHelpPageEnabled
etincludeExceptionDetailInFaults
sonttrue
.
<configuration>
<system.serviceModel>
<services>
<!--
Step 1. Add a behaviorConfiguration attribute
in the <service> element.
-->
<service
name="Microsoft.WCF.Documentation.SampleService"
behaviorConfiguration="metadataAndDebug">
<host>
<baseAddresses>
<add baseAddress="http://localhost:8080/SampleService" />
</baseAddresses>
</host>
<endpoint
address=""
binding="wsHttpBinding"
contract="Microsoft.WCF.Documentation.ISampleService"
/>
<endpoint
address="mex"
binding="mexHttpBinding"
contract="IMetadataExchange"
/>
</service>
</services>
<behaviors>
<serviceBehaviors>
<!--
Step 2. Inside a <serviceBehaviors> section, add
a name attribute in the <behaviors> element that
matches the behaviorConfiguration attribute in the
<service> element above.
-->
<behavior name="metadataAndDebug">
<serviceMetadata
httpGetEnabled="true"
httpGetUrl=""
/>
<!--
Step 3. Add a <serviceDebug> element and
modify the various attributes that suit your
scenario.
-->
<serviceDebug
httpHelpPageEnabled="true"
includeExceptionDetailInFaults="true"
/>
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
</configuration>
Remarques
Utilisez les propriétés ServiceDebugBehavior à partir d'un fichier de configuration ou par programme pour 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.
Définissez la IncludeExceptionDetailInFaults propriété pour true
indiquer à WCF de retourner les informations d’exception managées dans les erreurs SOAP aux clients à des fins de débogage.
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. De plus, bien que les propriétés ServiceDebugBehavior puissent également être définies par programme, il peut être facile d'oublier de désactiver IncludeExceptionDetailInFaults lors du déploiement.
Étant donné les problèmes de sécurité impliqués, il est vivement recommandé :
d'utiliser un fichier de configuration d'application pour affecter à la propriété IncludeExceptionDetailInFaults la valeur
true
;de ne procéder ainsi que dans des scénarios de débogage contrôlés.
Pour plus d’informations sur les problèmes de sécurité liés aux informations sur les exceptions gérées, consultez Spécification et gestion des erreurs dans les contrats et les services.
Les propriétés HttpHelpPageEnabled et HttpsHelpPageEnabled indiquent au service de publier des fichiers d'aide HTML lorsqu'il est affiché à l'aide d'un navigateur HTML.
Les propriétés HttpHelpPageUrl et HttpsHelpPageUrl déterminent l'emplacement de la page d'aide HTML affichée.
Pour activer ou désactiver l’une des fonctionnalités ServiceDebugBehavior à l’aide d’un fichier de configuration :
Ajoutez un
behaviorConfiguration
attribut à l’élément de< service> de votre service WCF. Les comportements de point de terminaison sont configurés sur <endpoint> les éléments ; les comportements de service sur <les éléments de service> .Ajoutez ou créez une <section serviceBehaviors> et ajoutez un <élément de comportement> à celui avec le nom qui correspond à la valeur d’attribut de l’étape
behaviorConfiguration
1. Les comportements de point de terminaison sont configurés à l’aide d’un <élément endpointBehaviors> ; les comportements de service sont configurés à l’aide d’un <élément serviceBehaviors> .Ajoutez un <élément serviceDebug> à l’élément de comportement> de l’étape< 2 et activez ou désactivez les différentes propriétés appropriées à votre scénario.
Pour obtenir un exemple spécifique, consultez la section Exemple.
Constructeurs
ServiceDebugBehavior() |
Initialise une nouvelle instance de la classe ServiceDebugBehavior. |
Propriétés
HttpHelpPageBinding |
Obtient ou définit l’accès de niveau supérieur à la définition d’une liaison. |
HttpHelpPageEnabled |
Obtient ou définit une valeur qui contrôle si Windows Communication Foundation (WCF) publie une page d’aide HTML à l’adresse contrôlée par la propriété HttpHelpPageUrl. |
HttpHelpPageUrl |
Obtient ou définit l'emplacement auquel le fichier d'aide HTML est publié. |
HttpsHelpPageBinding |
Obtient ou définit l’accès de niveau supérieur à la définition d’une liaison. |
HttpsHelpPageEnabled |
Obtient ou définit une valeur qui spécifie si Windows Communication Foundation (WCF) retourne un fichier d’aide HTML sur HTTPS à l’adresse contrôlée par la propriété HttpsHelpPageUrl. |
HttpsHelpPageUrl |
Obtient ou définit l'emplacement auquel un fichier HTML est publié pour être récupéré à l'aide de HTTPS. |
IncludeExceptionDetailInFaults |
Obtient ou définit une valeur qui spécifie si les informations sur les exceptions managées doivent être incluses dans le détail des erreurs SOAP retournées au client à des fins de débogage. |
Méthodes
Equals(Object) |
Détermine si l'objet spécifié est égal à l'objet actuel. (Hérité de Object) |
GetHashCode() |
Fait office de fonction de hachage par défaut. (Hérité de Object) |
GetType() |
Obtient le Type de l'instance actuelle. (Hérité de Object) |
MemberwiseClone() |
Crée une copie superficielle du Object actuel. (Hérité de Object) |
ToString() |
Retourne une chaîne qui représente l'objet actuel. (Hérité de Object) |
Implémentations d’interfaces explicites
IServiceBehavior.AddBindingParameters(ServiceDescription, ServiceHostBase, Collection<ServiceEndpoint>, BindingParameterCollection) |
Implémente la méthode AddBindingParameters(ServiceDescription, ServiceHostBase, Collection<ServiceEndpoint>, BindingParameterCollection) afin de prendre en charge le comportement. |
IServiceBehavior.ApplyDispatchBehavior(ServiceDescription, ServiceHostBase) |
Implémente la méthode ApplyDispatchBehavior(ServiceDescription, ServiceHostBase) afin de prendre en charge le comportement. |
IServiceBehavior.Validate(ServiceDescription, ServiceHostBase) |
Implémente la méthode Validate(ServiceDescription, ServiceHostBase) afin de prendre en charge le comportement. |