0

我正在使用 .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>");
        }
    }
}

这些方法安全吗?

谢谢你。

4

1 回答 1

0

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

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

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

lockObj 在哪里

static object lockObj = new object();
于 2013-12-10T08:39:26.830 回答