Я пишу собственный tracelistener для записи сообщений трассировки в файл, добавляющий ротацию (например, меняя имя файла каждый день).
В переопределении метода Flush
я вызываю Flush
для базового StreamWriter
, но если я установил autoflush='false'
в конфигурации приложения, Flush
не вызывается, когда приложение завершается.
Каков правильный метод для завершения пользовательского прослушивателя трассировки при выходе из приложения?
EDIT: я переопределил метод Dispose(bool disposing)
, так как базовый класс TraceListener
уже реализует одноразовый шаблон, но, насколько я могу сказать, метод не вызывается. Если я реализую явный деструктор, деструктор вызывается, но в этот момент я не должен предполагать, что ссылка на поток все еще действительна, верно?