0

我需要知道如何使用 Handle 来识别代码中的哪个对象锁定了 pdf 文件。

我在后台生成了带有水晶报告的pdf文件,将pdf通过电子邮件发送给收件人,然后想删除该文件,但一直收到此消息

 System.IO.IOException: The process cannot access the file 'c:\test\First Report for test.pdf' because it is being used by another process.
       at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
       at System.IO.File.InternalDelete(String path, Boolean checkHost)
       at System.IO.File.Delete(String path)

我处置了ReportDocument&SmtpClient对象,但这没有帮助,然后我尝试了 ProcessExplorer 和命令行句柄,并使用以下命令

C:\Users\demouser\SysinternalsSuite> handle test\First Report for test.pdf

这也无济于事。我再次检查了代码并通过调用 dispose 方法解决了问题MailMessage

所以我想知道是否可以在第一个实例中使用句柄来识别代码中的锁定对象。

4

0 回答 0