最小化文件的LOCK时间

时间:2011-05-27 07:14:34

标签: .net file locking

我正在处理一个读取文件的应用程序,并在处理后将其保存回来。我必须在文件处理过程中将文件保存在流中。现在问题是我必须最小化文件的LOCK时间。
解决办法是什么?

2 个答案:

答案 0 :(得分:1)

我建议您将文件保存在MemoryStream中。当您写入MemoryStream时,数据将存储在内存中,而不是存储到文件系统中。处理完毕后,您可以调用MemoryStream.WriteTo将数据永久存储在文件系统中。这将最小化锁定时间。

答案 1 :(得分:0)

您可以使用允许其他进程访问该文件的ShareMode打开文件句柄。换句话说,您可以在不创建独占锁的情况下读取文件:

FileStream stream = File.Open("path", FileMode.Open, FileAccess.Read, FileShare.ReadWrite);