我正在实现一个应用程序,该应用程序使用EventLogQuery
和EventLogReader
类读取自定义事件文件(.evt),并将这些事件写入纯文本文件中。我有兴趣在每次处理文件时删除EVT文件,或者在程序完成时删除所有文件。
我只是尝试了Delete()
类的File
方法,但这不起作用,程序在此方法中抛出异常:
'该文件正由另一个程序使用'。
我目前无法访问代码,但我想知道是否存在删除事件日志文件的任何特定方法。我找到了EventLog.Delete()
方法,但我不确定你是否可以指定evt文件而不是默认名称日志的名称(安全,应用程序,系统等)。
P.D:evt文件不是正在执行程序的系统的evt文件。这些文件是导出另一台计算机的evt文件。
答案 0 :(得分:0)
请确保在删除文件之前关闭了该文件。 EventLogReader
是一次性的,因此请确保将其放入using
子句或代码调用Dispose()
。