Как использовать SysInternal Handle, чтобы определить, какой объект в коде заблокировал файл "Test File.pdf"
Мне нужно знать, как я могу использовать Handle, чтобы определить, какой объект в коде заблокировал 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
Поэтому мне интересно, можно ли использовать handle в первом случае для идентификации объекта блокировки в коде.