File.Move和WebBrowser

时间:2011-11-09 23:06:12

标签: c# file browser

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()操作继续进行的任何提示?

再次感谢。

1 个答案:

答案 0 :(得分:2)

我建议以这样一种方式构建你的程序,你可以一起避免这个问题:

  • 导航到该文件时,首先使用File.Copy()将文件复制到具有唯一文件名的临时位置。
  • 导航至临时文件
  • 当你去File.Move()时,一切都应该正常工作,因为它现在是锁定的Temp文件,而不是原始文件。