我需要用C#设计和实现一个多用户应用程序,其中的持久层由文件组成,而不是数据库。这些文件将位于共享文件系统中,可供应用程序的所有客户端进行读/写访问。因此,并发控制和数据一致性问题就出现了。如果存储层是数据库,数据库供应商就会解决这个难题,但现在在基于文件的存储中,我如何确保多用户环境中的数据一致性?此外,如果一个客户端更改了文件中的数据,如何通知可能已经打开该文件的另一个客户端。你能给我指点一下可以帮助我解决这些问题的资源吗?谢谢
发布于 2015-08-27 21:39:03
您可以尝试FileSystemWatcher并实现读取器-写入器锁定模式。当有人想要读取数据时,他们以只读的方式打开它,共享读取,快速读取,然后关闭并在需要时侦听更改。当有人想要写数据时-打开文件,只有写访问权限而不共享。
https://stackoverflow.com/questions/31448226
复制相似问题