我有一个.aspx
形式的网络表单,其中包含用户详细信息,然后将详细信息写入位于服务器上的C#中的CSV文件。我的问题是如何控制对CSV文件的多次写入,以便数据不会搞砸?我必须绝对使用服务器上的CSV文件,数据库或其他记录方式不适合我。
环顾四周,我看到使用Mutex可能很有用。我想知道我有什么其他选择,因为我正在寻找最有效和最简单的解决方案?我提前道歉,因为我是ASP.NET和C#的新手。
答案 0 :(得分:2)
使用互斥锁/锁是最简单的方法;假设您的站点是csv文件的唯一编写者。由于没有显示代码,我假设你有CsvWriter类:
public class CsvWriter
{
const string path = "myfile.csv";
static object synch = new Object();
public void AppendCsv(string newData)
{
lock (synch)
{
File.AppendAllText(path, newData);
}
}
}