问题:
我在同一 LAN 中的不同 PC(操作系统:Windows XP、Windows 7)上运行相同 C# 应用程序的多个实例。我必须在它们之间共享一些配置数据。每个进程都必须对数据具有读写访问权限。我的雇主坚持将这些共享数据存储在一个文件中,该文件位于其中一台 PC 的共享目录中。
可能的解决方案:
- 独占文件打开:数据存储在 TXT 文件中(序列化到二进制文件和从二进制文件序列化也是一种选择)。尝试打开文件时,每个进程都使用
File.Open
with 。FileShare.None
获得一个IOException
意味着该文件已经在使用中,因此该过程必须等待并稍后重试。 - SQL Server CE 嵌入式数据库:数据存储在 SDF 文件中。该引擎最多可以处理 256 个同时连接(v3.5 SP2),这绰绰有余。
- SQLite 嵌入式数据库:数据存储在 SQLite 数据库文件中。文档说 SQLite 可以工作,但在网络共享上使用时可能不可靠。
- 其他?
这样做的首选方法是什么?