C# 处理并发文件写入
我正在开发一个ASP.NET应用程序,它接受用户输入并将其序列化为文本文件。现在,当第二个更新请求在文件仍在编写时出现时,将生成IOExceptionC# 处理并发文件写入,c#,asp.net,linq,concurrency,C#,Asp.net,Linq,Concurrency,我正在开发一个ASP.NET应用程序,它接受用户输入并将其序列化为文本文件。现在,当第二个更新请求在文件仍在编写时出现时,将生成IOException 如何处理此文件的并发更新请求 您可以实现生产者-消费者,其中主线程将对象添加到队列,消费者将队列写入磁盘。使用它将解决的锁 lock (this) { 将它们序列化为文本文件 }这比使用lock要好,因为写入线程不会被阻塞。您可以对日志消息使用线程安全队列,并运行单独的后台线程来使用队列并将消息写入文件。然后在consumer中,您还可以实现
如何处理此文件的并发更新请求 您可以实现生产者-消费者,其中主线程将对象添加到队列,消费者将队列写入磁盘。使用它将解决的锁
lock (this)
{
将它们序列化为文本文件
}这比使用lock要好,因为写入线程不会被阻塞。您可以对日志消息使用线程安全队列,并运行单独的后台线程来使用队列并将消息写入文件。然后在consumer中,您还可以实现滚动文件等功能。这非常有效,直到有人点击CTRL+C,队列中的所有数据被丢弃,而不是文件系统。