C# 文件内容在windows共享上停止更新

C# 文件内容在windows共享上停止更新,c#,windows,share,C#,Windows,Share,我有一个程序,可以(反复)读取文件的内容,如果新数据到达,则进行一些处理。阅读很简单,就像 class Reader { FileStream fs_ = null; StreamReader sr_ = null; Reader(string filename) { fs_= new FileStream(filename, FileMode.Open, FileAccess.Read, FileShare.ReadWrite | FileSh

我有一个程序,可以(反复)读取文件的内容,如果新数据到达,则进行一些处理。阅读很简单,就像

class Reader
{
    FileStream fs_ = null;
    StreamReader sr_ = null;

    Reader(string filename)
    {
        fs_= new FileStream(filename, FileMode.Open, FileAccess.Read, FileShare.ReadWrite | FileShare.Delete);
        sr_ = new StreamReader(fs_);
    }

    void Read()
    {
        string line;
        while (line = sr_.ReadLine())
        {
            // ...
        }
    }
}
方法Read()每300毫秒轮询一次。如果外部参与者重命名/删除该文件,则会有一些代码关闭并重新打开该文件

一般来说,它工作正常,但有时(我在上个月遇到过两次)会出现奇怪的事情。共享上的文件报告了正确的长度,但当尝试从中读取时,会显示字符串的一个半部分以及文件的其余部分,内容为零(0x00,而不是“0”)。此外,当我试图从托管我的程序的同一台机器上通过任何外部文本/二进制编辑器读取文件时,我得到了相同的图片。从网络上的其他机器读取文件时不会出现任何问题,并显示完整内容。问题一直存在,直到我用我的程序重新启动机器

你知道会发生什么事吗?我该怎么解决