2010-03-20 12 views

risposta

95

Sì, certo - sul lato server, prima di aprire l'host del servizio. Ciò tuttavia richiede che si auto-host del servizio WCF - non funzionerà in scenari di hosting 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(); 

Se avete bisogno di fare la stessa cosa in hosting di IIS, dovrete creare il proprio personalizzato MyServiceHost discendente e un opportuno MyServiceHostFactory che crea un'istanza di tale host di servizio personalizzato e fa riferimento a questo factory host del servizio personalizzato nel file * .svc.

+3

mi ha salvato la vita su una named pipe un'applicazione WCF locale vs servizio in esecuzione. Grazie ! – Larry

+0

in che file dovrebbe entrare questo codice? –

26

È anche possibile impostare nel tag [ServiceBehavior] sopra la dichiarazione di classe che eredita l'interfaccia

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