C# 后台线程上的TextWriterTraceListener
我有一个第三方组件,它使用TraceSwitch功能,允许我输出一些关于内部情况的跟踪。不幸的是,在详细模式下运行这些开关,使用TextWriterTraceListener作为使用者(输出到文件)会使应用程序的速度过慢 立即写入跟踪数据并不重要,那么有没有办法将数据写入优先级较低的线程?也许是一项任务 编辑 经过进一步调查,似乎仅仅打开开关而不连接侦听器会导致速度减慢。我要联系一下组件供应商C# 后台线程上的TextWriterTraceListener,c#,.net,system.diagnostics,C#,.net,System.diagnostics,我有一个第三方组件,它使用TraceSwitch功能,允许我输出一些关于内部情况的跟踪。不幸的是,在详细模式下运行这些开关,使用TextWriterTraceListener作为使用者(输出到文件)会使应用程序的速度过慢 立即写入跟踪数据并不重要,那么有没有办法将数据写入优先级较低的线程?也许是一项任务 编辑 经过进一步调查,似乎仅仅打开开关而不连接侦听器会导致速度减慢。我要联系一下组件供应商 不过,听到答案还是会很有趣。为TraceListener编写自己的扩展名。在扩展名中,将所有跟踪字符串
不过,听到答案还是会很有趣。为TraceListener编写自己的扩展名。在扩展名中,将所有跟踪字符串放在一个列表中,当计数足够高时,将列表写入一个文件并清除列表以重新开始。刷新Dispose()上的列表 然后可以很容易地扩展到使用线程池将新任务排队以执行实际写入 这并不能保证您将提高性能。只有当您确定是IO使事情变慢时,它才会有所帮助