C# 从另一进程当前打开的文件中读取是否会停止写入?

C# 从另一进程当前打开的文件中读取是否会停止写入?,c#,.net,windows,file,C#,.net,Windows,File,假设我有一个进程X,其代码如下,它打开了另一个进程Y当前也在使用的一些文件。进程Y在文件中大量写入新行 using (var file = File.Open(file, FileMode.Open, FileAccess.Read, FileShare.ReadWrite)) using (var reader = new StreamReader(file)) { string line = null; while ((line = reader.ReadLine()) !=

假设我有一个进程X,其代码如下,它打开了另一个进程Y当前也在使用的一些
文件
。进程Y在
文件
中大量写入新行

using (var file = File.Open(file, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
using (var reader = new StreamReader(file))
{
    string line = null;
    while ((line = reader.ReadLine()) != null)
    {
        // do something with line
    }
}

我想知道从
X
读取如何影响从
Y
写入?在进程
X
中打开文件(在使用范围内)时将被阻止写入?更准确地说,这是关于Windows上的.NET 4.5。

我一直在同时读取和写入文件,没有遇到任何问题。。。当然有办法把它搞糟,这就是为什么如果它对你不起作用,你应该包括你的特殊问题。

X甚至可以打开文件吗?@Brandon,将是,感谢提供的标志,做
文件。打开
,如果
Y
以正确的方式打开它。但这是可行的。我想你会发现这取决于你是否在流媒体以及何时刷新缓冲区。你已经编写了代码。。。有什么东西阻止你测试这个吗?你试过了吗?你有问题吗?问题是什么?请记住,如果读卡器X读取的数据超过写入器Y实际写入(刷新)到共享文件的最后一个数据,则读卡器X将获得EOF条件。这意味着您可能需要睡眠并重试读取,或者使用其他机制来同步读取和写入操作。