2010-03-20 6 views

Répondre

95

Oui, bien sûr - côté serveur, avant d'ouvrir l'hôte de service. Cela nécessiterait cependant que vous auto-hôte le service WCF - 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 devez faire la même chose dans l'hébergement IIS, vous devrez créer votre propre coutume MyServiceHost descendant et un MyServiceHostFactory approprié qui instancierait un tel hôte de service personnalisé et référencer cette fabrique d'hôte de service personnalisé dans votre fichier * .svc.

+3

a sauvé ma vie sur les canaux nommés locaux l'application WCF vs service en cours. Merci ! – Larry

+0

quel fichier irait ce code? –

26

Vous pouvez également définir dans le [ServiceBehavior] étiquette au-dessus de votre déclaration de classe qui hérite de l'interface

[ServiceBehavior(IncludeExceptionDetailInFaults = true)] 
public class MyClass:IMyService 
{ 
... 
} 
Questions connexes