在不同进程之间共享dll数据

时间:2009-10-06 21:25:44

标签: c# .net dll shared

我必须在C#中实现一个包含任务列表的dll。这个dll的职责是管理这些任务。不同的进程将与此dll交互,每个进程都由自己的任务执行,由任务ID标识。

但是由于每个进程都有自己的dll数据副本,因此挑战是如何管理这个列表。此列表必须由所有实例共享。我用谷歌搜索共享dll数据并遇到了this -

data_seg方法似乎仅对静态数据有用,没有在列表中动态添加/删除任务的范围。 (如果我错了,请纠正我。)

我应该去内存映射文件吗?如果我只使用基本文件I / O怎么办?我正在考虑将这个任务列表序列化到一个文件中。然后,每个进程都可以使用FileShare.None设置打开它。这样,文件访问将是互斥的,如果文件已经打开,进程将等待。

请让我知道哪种方法更好或其他更好的选择。

由于

1 个答案:

答案 0 :(得分:1)

您是否考虑过在WCF服务中托管dll?然后,您可以让您的应用程序对此服务进行客户端调用。数据可能会在托管wcf进程中持续存在。