我有一个由少数用户(< 12 个用户)使用的应用程序。记录少于 2000 条,因此我决定使用 XML 文件并将文件存储在 \company\product\p.xml 下。
这可以吗,还是我在没有意识到的情况下违反了一些设计准则?
环境L .net/c#/winforms
更新:在任何给定时间,只有 1 个用户、1 个线程将阅读或更新。
我有一个由少数用户(< 12 个用户)使用的应用程序。记录少于 2000 条,因此我决定使用 XML 文件并将文件存储在 \company\product\p.xml 下。
这可以吗,还是我在没有意识到的情况下违反了一些设计准则?
环境L .net/c#/winforms
更新:在任何给定时间,只有 1 个用户、1 个线程将阅读或更新。
对于一个文件,您需要确保不会有超过一个线程/进程或其他工作单元同时写入该文件,否则有损坏的风险。
如果您需要多个并发写入, SQLite可能是一个很好的解决方案。
如果要处理的记录不多,那么可以使用 XML 文件,它也可能是可移植的。
最好的办法是在数据存储和应用程序之间使用某种形式的抽象(如 ORM)。您不必将整个 MVC 堆栈引入您的代码中,而是尝试自己将一些适合您需要的东西放在一起。然后你可以将你的后端从 XML 文件切换到其他人在这里建议的文件
紧凑的 sql 会做得更好。甚至只使用 odbc 和 access 数据库。xml 文件并不能真正用作数据库。
值得注意的是,进入 XML 文件的信息存在一些安全隐患,这些文件本质上是明文,可以被任何文本编辑器读取。任何违反隐私法的内容(例如社会安全号码)都不应存储在 XML 文件中。密码不应存储在未加密的 XML 文件中。
这听起来很明显,但我知道至少有一个 ASP.NET 应用程序在我曾经工作的工作中设计包括模拟帐户的明文密码......愚蠢。