c# - 读取文件而不会在第 3 方程序上导致 IOException

标签 c# .net filestream ioexception read-write

我正在读取一个由第 3 方程序定期写入的文件。 我正在使用以下 FileStream 阅读:

using (FileStream fs = new FileStream(
                         FullPath,
                         FileMode.Open,
                         FileAccess.Read,
                         FileShare.ReadWrite))

然而,第 3 方程序正在写入文件,但使用的是 FileShare.None

因此,当第 3 方程序尝试以独占访问权限打开文件但失败时,我偶尔会打开文件进行阅读。

如何读取此文件而不会对第 3 方程序造成问题? 我不介意释放我的阅读优先权给另一个应用程序。有什么办法吗?

最佳答案

您想要做的是监视进程创建通知,当您看到特定进程出现时,您会想避开它。

IWbemServices::ExecNotificationQuery

以下是关于 MSDN 的一些额外详细信息. 这里还有一个代码项目:Process Information and Notifications using WMI

关于c# - 读取文件而不会在第 3 方程序上导致 IOException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18059547/

相关文章:

c# - 从每 6 秒更新一次的二进制日志文件读取 12k 数据

c++ - 为什么从二进制文件中读取这个流会在 0x1A 字符处停止?

c# - 使用 SSH.NET 在命令输出期间发送输入

c# - Moling DataContext 与 MS Moles?

c# - MVC Web API 5 升级以支持 CORS

c# - Visual Studio 2015 : error building solution

c# - 如何在 LINQ 中使用异步和等待?

c# - Ninject - 绑定(bind)通用类型与约束

java - IKVM.NET 作为 OpenOffice 的 JRE

c# - 如何将 MemoryStream 转换为 FileStream?