从asp.net安全地读写.txt文件
我正在使用.txt文件记录asp.net(4.0)项目中各种方法引发的异常。我有一个页面,每10分钟读取一次文件中的文本。如果同时有读写尝试,它会抛出任何异常吗?如果你有更好的技术来处理这样的问题,请让我知道。目前,我正在使用以下代码- 写入文件从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
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
。