我想我已經失去了我的思想傢伙。根據MSDN,TraceSource是線程安全的。所以我有一個簡單的控制檯應用。在這裏,我宣佈;跨線程的TraceSource不起作用?
private static readonly TraceSource ActiveTraceSource = new TraceSource("Test");
在我的app.config中,我有;
<system.diagnostics>
<trace autoflush="true">
<listeners>
<add name="consoleListener" type="System.Diagnostics.ConsoleTraceListener"/>
</listeners>
</trace>
</system.diagnostics>
在我的main()中,我做了類似的事情;
ActiveTraceSource.TraceInformation("Hi!");
工程太棒了,我有你好!在我的控制檯上。然後我這樣做;
new Thread(DoWork).Start();
內部DoWork的,我做同樣的事情;
ActiveTraceSource.TraceInformation("Hi!");
應該工作,但我沒有得到第二個「你好!」 ..設置斷點表明我的DoWork具有ActiveTraceSource的一個實例,並有集合中的偵聽器,但沒有在安慰。
這是控制檯偵聽器中的錯誤嗎?我錯過了什麼嗎?
我添加了一個TextWriterListener來查看它是否只是控制檯 - 相同的效果,它不寫。 – XeroxDucati 2011-12-28 01:33:21