我有一个C#应用程序,用于修改PowerPoint文件。文件在我们的网络中,很多人需要使用它们。但是在每个给定时间,只有一个人使用演示文稿。 我曾经在每个演示文稿中存储一些位于我们网络中的中央序列化xml文件中的元数据。元数据的结构是一个简单的List,其中每个项目都是文件名和其他属性。文件名用于标识每个条目。
现在我的程序经常被不同的人使用,他们正在处理不同的演示文稿,当他们回家时,我的程序将元数据保存到文件中。不幸的是,最后一个回家的用户赢了并覆盖了其他用户的所有更改。
那我怎么能避免呢?显然,我需要一种更好的数据存储技术,它只保存用户所做的更改。但我不能使用任何其他技术而不是存储在我们网络上的文件(但我不限于xml文件...)
答案 0 :(得分:4)
为什么不使用SQLite数据库?它将所有数据存储在一个文件中(您可以将其存储在网络中),并为您提供关系数据库的灵活性,您可以在其中使用悲观和/或乐观并发检查等技术。您还可以更轻松地存储每个用户的数据。
编辑: An SO question处理如何在c#应用程序中使用SQLite