C#相对较新 - TIA提供任何帮助。
使用webBrowser构建窗口应用程序。使用browser.Navigate("myfilestring")
获取本地文件(PDF可能很重要)。查看文件后,我希望有一个方法File.Move()
文件从一个目录到另一个目录。我遇到的问题是Move返回一个IO异常,指出由于另一个进程正在使用该文件时无法执行文件操作。
在调用Move之前,我browser.Navigate("someotherfilestring")
希望释放原始文件中的“正在使用的文件”锁定...但没有帮助。
我还在Move周围放了一个递归的try / catch,并在catch中放了一个thread.sleep(50)
,希望它只是一个计时问题......也没帮助。
但是,如果我在catch中放置MessageBox.Show()
- IO异常捕获一次 - 显示消息框,然后点击OK按钮具有取消该文件的效果以允许{{1操作继续进行。我宁愿没有弹出框作为解决方案。
有关如何以编程方式取消文件以使File.Move()
操作继续进行的任何提示?
再次感谢。
答案 0 :(得分:2)
我建议以这样一种方式构建你的程序,你可以一起避免这个问题:
File.Copy()
将文件复制到具有唯一文件名的临时位置。File.Move()
时,一切都应该正常工作,因为它现在是锁定的Temp文件,而不是原始文件。