Comment puis-je définir IncludeExceptionDetailInFaults dans le code sans utiliser App.Config ?
Réponses
Trop de publicités?Oui, bien sûr - du côté du serveur, avant d'ouvrir l'hôte de service. Cela nécessiterait cependant que vous hébergez vous-même le service WCF - cela ne fonctionnera pas dans les scénarios d'hébergement IIS :
ServiceHost host = new ServiceHost(typeof(MyWCFService));
ServiceDebugBehavior debug = host.Description.Behaviors.Find<ServiceDebugBehavior>();
// if not found - add behavior with setting turned on
if (debug == null)
{
host.Description.Behaviors.Add(
new ServiceDebugBehavior() { IncludeExceptionDetailInFaults = true });
}
else
{
// make sure setting is turned ON
if (!debug.IncludeExceptionDetailInFaults)
{
debug.IncludeExceptionDetailInFaults = true;
}
}
host.Open();
Si vous avez besoin de faire la même chose dans l'hébergement IIS, vous devrez créer votre propre fichier personnalisé. MyServiceHost
et un descendant approprié MyServiceHostFactory
qui instancie un tel hôte de service personnalisé, et faites référence à cette usine d'hôtes de service personnalisés dans votre fichier *.svc.