我必须在 C# 中实现一个包含任务列表的 dll。这个 dll 的职责是管理这些任务。不同的进程将与这个 dll 交互,每个进程都有自己的任务,由任务 ID 标识。
但由于每个进程都有自己的 dll 数据副本,因此挑战在于如何管理此列表。此列表必须由所有实例共享。我在谷歌上搜索共享 dll 数据并遇到了这个-
data_seg 方法似乎只对静态数据有用,没有在列表中动态添加/删除任务的范围。(如果我错了,请纠正我)。
我应该去内存映射文件吗?如果我只使用基本文件 I/O 怎么办?我正在考虑将这个任务列表序列化到一个文件中。然后每个进程都可以使用 FileShare.None 设置打开它。这样文件访问将是互斥的,如果文件已经打开,进程将等待。
请让我知道哪个是更好的方法或任何其他更好的选择。
谢谢