46 votes

Comment puis-je vérifier si le Débogage est activé dans le web.config

J'ai un code à partir de mon VB.NET 1.1 jours qui m'a permis de vérifier de façon dynamique si le Débogage est activé dans le web.config. J'ai compris pourquoi ré-inventer la roue à l'activation/désactivation de la journalisation si je pouvais tout simplement l'administrateur web activer le débogage. Voici le code que j'ai utilisé dans VB.NET qui a très bien fonctionné:

ConfigurationSettings.GetConfig("system.web/compilation").Debug.ToString()

Quand j'ai voulu convertir ce de C# et de l'utiliser .NET 3.5 j'ai rencontré quelques difficultés et que ça ne marcherait pas. En outre, je voudrais utiliser la nouvelle construction de ConfigurationManager.GetSection. Quelqu'un peut-il suggérer la meilleure façon de lire le système.web/compilation/debug=true|false valeur?

Beaucoup apprécié!

110voto

driis Points 70872

Utilisation:

HttpContext.Current.IsDebuggingEnabled

Cette propriété en fait regarde sur le web.config paramètre de configuration. Si vous regardez à l'aide d'un Réflecteur, vous trouverez que c'est de la réelle ConfigurationSection objet à l'aide de certaines classes internes.

10voto

JoshBerke Points 34238

le suivant devrait fonctionner

var cfg=(System.Web.Configuration.CompilationSection) ConfigurationManager.GetSection("system.web/compilation");
if (cfg.Debug)
{
...
}

5voto

Stuart.Sklinar Points 1228

-Edit- Je suis conscient que ce n'est pas précisément de répondre à la question, comme vous l'avez demandé Web.Config - qui suggère immédiatement un site web.app, et n'est pas décidé à "run-time", mais il ne permet pas une bonne façon de vérifier si c'est le mode de débogage.

Sur une autre note, vous auriez pas idéalement échangés entre debug et release mode sur la même application.. La fin de l'édition-

Comment à propos de l'utilisation de compilation conditionnelle??

http://msdn.microsoft.com/en-us/library/aa691099(v=vs. 71).aspx

bool isDebuggingEnabled = false

#if debug
   isDebuggingEnabled = true;
#endif

Qui certainement aurait plus de sens, et ne nécessite pas de références précises?

Assurez-vous de l' DEBUG Constante est activée dans votre projet (Voir photo)

enter image description here

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X