关于并发处理写入和只读访问文件的问题

时间:2008-12-18 01:43:42

标签: c#

在Web应用程序中,是否有一种被广泛接受的处理锁定文件的方法?

例如,用户具有对文件的写入权限,因此最好的方法是让所有其他用户访问该文件但仅具有只读权限。

此外,如果该用户关闭文件并且所有句柄/资源都被丢弃,我该如何决定谁可以拥有对该文件的完全写入权限?

假设1个用户具有完全写入权限,10个用户则具有只读访问权限。

还假设Web应用程序上有文件链接。

由于

1 个答案:

答案 0 :(得分:1)

我认为常见的方法是使用ReaderWriterLock保护资源(在您的情况下为文件)(3.5中的ReaderWriterLockSlim具有更好的性能)。要更改状态(即写入/打开 - 关闭/删除),您必须获得一次只能授予一个线程的Writer锁定,并且读取操作需要读取器锁定,可以在多个读取器之间共享。