从asp.net安全地读写.txt文件

从asp.net安全地读写.txt文件,asp.net,filestream,Asp.net,Filestream,我正在使用.txt文件记录asp.net(4.0)项目中各种方法引发的异常。我有一个页面,每10分钟读取一次文件中的文本。如果同时有读写尝试,它会抛出任何异常吗?如果你有更好的技术来处理这样的问题,请让我知道。目前,我正在使用以下代码- 写入文件 using (StreamWriter Writer = new StreamWriter(LogFilePath, true)) { Writer.WriteLine(ErrorMsg); } 从文件中读取 using (FileStrea

我正在使用.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>");
        }
    }
}
使用(FileStream fs=File.OpenRead(LogFilePath))
{
使用(StreamReader=新StreamReader(fs))
{
弦线;
而((line=reader.ReadLine())!=null)
{
响应。写入(第+行“
”; } } }
这些方法安全吗


多谢各位

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

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

lock(lockObj)
{
    using (StreamWriter Writer = new StreamWriter(LogFilePath, true))
    {
        Writer.WriteLine(ErrorMsg);
    }
}
洛克布在哪里

static object lockObj = new object();

否。例如,使用
log4net