J'ai trouvé quelques extraits d'informations relatives à app.config/web.config qui font allusion à la configuration presque sans code des composants BCL directement via app.config. Cependant, compte tenu de la quantité de tags suggérés par l'intellisense au sein de l'app.config, cela suggère qu'il y a une énorme quantité de possibilités pour cela que je ne peux pas trouver des informations utiles pour.Comment configurer les bibliothèques de classes de base dans mon fichier app.config?
Existe-t-il une documentation prenant en charge cette zone particulière de fichiers de configuration? Je peux trouver beaucoup d'informations sur le stockage/récupération des informations de configuration et un peu sur l'écriture de sections de configuration personnalisées que je connais, mais je ne trouve aucune information concernant la configuration des composants BCL de cette façon. Quelqu'un at-il des documents de référence pour cela?
Un exemple que je suis venu à travers est la suivante:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.diagnostics>
<trace autoflush="true" indentsize="2">
<listeners>
<add name="Console"
type="System.Diagnostics.ConsoleTraceListener, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
traceOutputOptions="Timestamp" />
</listeners>
</trace>
<switches>
<add name="Logging.Program.Listener" value="Error" />
</switches>
</system.diagnostics>
</configuration>
qui peut être consommé en utilisant le code de manière similaire à ceci:
class Program
{
private static TextWriterTraceListener tw = new TextWriterTraceListener();
private static TraceSwitch ts = new TraceSwitch("Logging.Program.Listener", "Default Logging Level", "Off");
static void Main(string[] args)
{
Trace.Listeners.Add(tw);
try
{
throw (new EntryPointNotFoundException());
}
catch (EntryPointNotFoundException ex)
{
string TraceMessage = "Trace {0}: {1}";
Trace.WriteLineIf(ts.TraceError, String.Format(TraceMessage, TraceLevel.Error, "Error Level Message"));
Trace.WriteLineIf(ts.TraceWarning, String.Format(TraceMessage, TraceLevel.Warning, "Warning Level Message"));
Trace.WriteLineIf(ts.TraceInfo, String.Format(TraceMessage, TraceLevel.Info, "Info Level Message"));
Trace.WriteLineIf(ts.TraceVerbose, String.Format(TraceMessage, TraceLevel.Verbose, "Verbose Level Message"));
}
}
}
Merci, ça ne me donne pas toutes les informations que je recherche, mais certainement me donne un énorme pointeur dans la bonne direction ... – BenAlabaster