我發現了一些與app.config/web.config有關的信息片斷,這些信息直接通過app.config提示BCL組件的無代碼配置。但是,考慮到app.config中intellisense建議的標籤數量,這表明存在大量的可能性,因此我找不到任何有用的信息。如何在我的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 2009-04-14 22:33:55