Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用autoflush=';假';(C#,.net)_C#_.net_Configuration_Trace - Fatal编程技术网

使用autoflush=';假';(C#,.net)

使用autoflush=';假';(C#,.net),c#,.net,configuration,trace,C#,.net,Configuration,Trace,我正在编写一个自定义tracelistener,将跟踪消息写入文件,添加轮换(例如每天更改文件名)。 在重写Flush方法时,我在底层StreamWriter上调用Flush,但如果在应用程序配置中设置autoflush='false',则在应用程序终止时不会调用Flush 当应用程序退出时,完成自定义跟踪侦听器的正确方法是什么 EDIT:我重写了Dispose(bool disposing)方法,因为基本TraceListener类已经实现了一次性模式,但是,据我所知,该方法没有被调用。如果我

我正在编写一个自定义tracelistener,将跟踪消息写入文件,添加轮换(例如每天更改文件名)。
在重写
Flush
方法时,我在底层
StreamWriter
上调用
Flush
,但如果在应用程序配置中设置
autoflush='false'
,则在应用程序终止时不会调用
Flush

当应用程序退出时,完成自定义跟踪侦听器的正确方法是什么


EDIT:我重写了
Dispose(bool disposing)
方法,因为基本
TraceListener
类已经实现了一次性模式,但是,据我所知,该方法没有被调用。如果我实现一个显式析构函数,就会调用析构函数,但此时我不应该假设流引用仍然有效,是吗?

我建议您在关闭底层
StreamWriter

之前,在自定义
TraceListener
类的dispose方法中执行此操作。如果您的软件未调用Trace。在终止时关闭,则无法确保完成任何刷新。
有关更多详细信息,请参见。

您应该在自定义tracelistener中覆盖
Close
方法,并在此处覆盖
Flush
Dispose
基线
StreamWriter