sto creando un ServiceFactory per ottenere il controllo inicialization dei miei servizi esposti tramite IIS 7.WCF ServiceHost ha già 5 comportamenti
Tuttavia sto sorpreso dal comportamento di ServiceHost. Anche se ho 0 i file di configurazione per il servizio, ovunque io inizializzare un nuovo ServiceHost, in questo modo:
var host = new ServiceHost(typeof(MyService), baseAddresses);
Avanti voglio aggiungere alcuni comportamenti solo se l'accumulo è in modalità debug:
#if DEBUG
host.Description.Behaviors.Add(new ServiceDebugBehavior());
#endif
Tuttavia, questo codice non funziona, poiché ServiceDebugBehavior è già applicato! Nonostante non abbia file di configurazione e nessun attributo applicato alla classe di servizio, l'host ha già questo comportamento e altri 5 applicati!
È questo il comportamento previsto? Cosa succede se si desidera disattivare il ServiceDebugBehavior sui build di rilascio?
Grazie in anticipo,
Weel Non mi lamento dei comportamenti che si dicono, come le credenziali di autenticazione e di servizio. Comunque penso che sia strano includere DebugBehavior nella borsa. Non voglio esporre questo comportamento sui miei servizi di produzione. Inoltre non è questo il punto di avere un DebugBehavior a tutti? Ti permette di collegarlo quando ha senso. Quindi questo è il comportamento predefinito di WCF? –
Sì, ma l'impostazione 'IncludeExceptionDetailsInFaults' su' ServiceDebugBehavior' è ** disattivata ** per impostazione predefinita! Di proposito, che è una buona cosa! –