Я нашел несколько фрагментов информации, относящихся к app.config/web.config, которая подсказывает почти без кодовую конфигурацию компонентов BCL непосредственно через app.config. Однако, учитывая количество тегов, предложенных intellisense в app.config, это говорит о том, что для этого существует огромное количество возможностей, которые я не могу найти любой полезной информации для.Как настроить библиотеки базового класса в файле app.config?
Есть ли документация, которая поддерживает эту конкретную область файлов конфигурации? Я могу найти много информации о хранении/извлечении информации о конфигурации и о небольшом количестве вопросов, связанных с написанием пользовательских разделов конфигурации, с которыми я знаком, но я не могу найти никакой информации о настройке компонентов BCL таким образом. У кого-нибудь есть справочные материалы для этого?
Одним из примеров я наткнулся следующим образом:
<?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>
Какой может быть потреблен с использованием кода аналогичным образом к этому:
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"));
}
}
}
Спасибо, это никоим образом не дает мне всю информацию, которую я ищу, но это, безусловно, дает мне огромный указатель в правильном направлении ... – BenAlabaster