FileSystemWatcher.WaitForChanged returns, but there is still a lock on the file
Posted
by SnOrfus
on Stack Overflow
See other posts from Stack Overflow
or by SnOrfus
Published on 2009-02-18T15:21:32Z
Indexed on
2010/03/28
22:43 UTC
Read the original article
Hit count: 823
I have a program that send a document to a pdf printer driver and that driver prints to a particular directory. After the print I want to attach the pdf to an e-mail (MailMessage) and send it off.
Right now, I send the document to the printer (wich spawns a new process) and then call a FileSystemWatcher.WaitForChanged(WaitForChangedResult.Created) but when the object is created, it's still not done "printing" and the pdf printer still has a lock on it, throwing an error when I try to attach that file to an e-mail.
- I've considered a plain Thread.Sleep(2000) or whatever, but that's far less than ideal.
- I considered putting the attachment code in a try/catch block and looping on failure, but again, that's just bad news.
I can't really think of an elegant solution.
© Stack Overflow or respective owner