Im créant un ServiceFactory pour prendre le contrôle de inicialization de mes services exposés par IIS 7.WCF ServiceHost a déjà 5 comportements
Cependant je suis surpris par le comportement de ServiceHost. Bien que j'ai 0 fichiers de configuration pour le service, partout où j'initialize une nouvelle ServiceHost, comme ceci:
var host = new ServiceHost(typeof(MyService), baseAddresses);
Ensuite, je veux ajouter quelques comportements que si la construction est en mode débogage:
#if DEBUG
host.Description.Behaviors.Add(new ServiceDebugBehavior());
#endif
Cependant, ce code échoue car le ServiceDebugBehavior est déjà appliqué! Malgré que je n'ai aucun fichier de configuration, et aucun attribut appliqué à la classe de service, l'hôte a déjà ce comportement et 5 autres sont appliqués!
Est-ce le comportement attendu? Que faire si je veux désactiver le ServiceDebugBehavior à la sortie des versions?
Merci à l'avance,
Weel Je ne me plains pas des comportements que vous dites, comme l'authentification et les informations d'identification du service. Cependant, je pense que c'est bizarre d'inclure DebugBehavior dans le sac. Je ne veux pas exposer ce comportement sur mes services de production. Aussi n'est-ce pas le point d'avoir un DebugBehavior à tous? Il vous permet de le brancher quand cela a du sens. Alors, est-ce le comportement prédéfini de WCF? –
Oui, mais le paramètre 'IncludeExceptionDetailsInFaults' sur' ServiceDebugBehavior' est ** désactivé ** par défaut! À dessein, aussi - ce qui est une bonne chose! –