2013-05-03 7 views
28

Durante la fase di compilazione che posso fare un controllo comeUn modo preferito per verificare se l'applicazione web asp.net è in modalità di debug durante il runtime?

#if DEBUG 
    Log("something"); 
#endif 

Ma quale sarebbe il preferito per controllare se debug="false" si trova nel web.config durante il runtime?

+0

Quando si esegue il progetto utilizzando Visual Studio IDE, allora chiederà di modificare il file web.config per abilitare il debug. –

+0

Perché non apri il file web.config e lo cerchi? –

+0

L'idea è di controllare una volta che è stato rilasciato, ecco perché il controllo di runtime è importante. A volte voglio abilitare il debug in produzione per ottenere un registro dettagliato di alcune azioni, quindi se il server di produzione è in modalità debug, vomiterà megabyte di log, ma quando lo disabiliterò farebbe la normale registrazione. Mi rendo conto che posso farlo anche con i livelli di log4net, ma in questo modo posso creare dinamicamente file JS e abilitare la registrazione Ajax anche dei messaggi di traccia JavaScript dettagliati! NON desidero richiedere ajax di loggare qualcosa solo per fare in modo che log4net lo ignori a causa del livello :) – Nenotlep

risposta

40

In alcuni casi, potrebbe essere necessario HttpContext.Current.IsDebuggingEnabled (specie di ovvio, ma comunque)

+5

Avevo bisogno di farlo oggi. Forse le due risposte qui dovrebbero essere unite in una? Dovrai utilizzare HttpContext.Current se utilizzi un metodo statico. Non sono sicuro dei casi in cui HttpContext è di per sé valido. –

Problemi correlati