安全地读取来自asp.net的.txt文件

时间:2013-10-29 10:46:00

标签: asp.net filestream

我正在使用.txt文件来记录我的asp.net(4.0)项目中从各种方法抛出的异常。我有一个页面,每隔10分钟从该文件中读取文本。如果同时有读取和写入尝试,它会抛出任何异常吗?如果你有更好的技术来处理这个问题,请告诉我。目前,我正在使用以下代码 -

写入文件

using (StreamWriter Writer = new StreamWriter(LogFilePath, true))
{
    Writer.WriteLine(ErrorMsg);
}

从文件中读取

using (FileStream fs=File.OpenRead(LogFilePath))
{
    using (StreamReader reader = new StreamReader(fs))
    {
        string line;
        while ((line = reader.ReadLine()) != null)
        {
           Response.Write(line + "</br>");
        }
    }
}

这些方法是否安全?

谢谢。

1 个答案:

答案 0 :(得分:0)

正如人们已经建议的那样,最简单的方法是使用外部库来处理文件的锁定。

但是,如果您仍想使用自己的代码来执行此操作,请确保使用锁定同步对文件的访问:

lock(lockObj)
{
    using (StreamWriter Writer = new StreamWriter(LogFilePath, true))
    {
        Writer.WriteLine(ErrorMsg);
    }
}

其中lockObj是

static object lockObj = new object();