TextWriterTraceListener в фоновом потоке - PullRequest
0 голосов
/ 16 ноября 2010

У меня есть сторонний компонент, который использует функциональность TraceSwitch, чтобы позволить мне выводить некоторые следы того, что происходит внутри.К сожалению, работа переключателей в подробном режиме с TextWriterTraceListener в качестве потребителя (вывод в файл) слишком сильно замедляет работу приложения.

Не критично, что отслеживаемые данные записываются немедленно, поэтому естьспособ получить данные, записанные в потоке с более низким приоритетом?Возможно Задача?

РЕДАКТИРОВАТЬ

При дальнейшем исследовании кажется, что простое включение переключателей без подключения слушателя вызывает замедление.Я собираюсь заполучить поставщика компонентов.

Было бы интересно услышать ответ, хотя.

1 Ответ

1 голос
/ 16 ноября 2010

Напишите свое собственное расширение для TraceListener.В расширении поместите все строки трассировки в список , а когда счет станет достаточно большим, запишите список в файл и очистите список, чтобы начать снова.Очистите список в Dispose ().

Это может быть легко расширено для использования пула потоков для постановки в очередь новой задачи для фактической записи.

Это не гарантирует, что вы улучшитеспектакль.Это поможет, только если вы уверены, что IO замедляет процесс.

...