如何创建一个只加载到内存一次的C#库?

Ome*_*mer 6 c# class

我想在C#中创建一个类库DLL,其中包含一个静态类.该静态类有1个私有静态成员(int),具有公共静态属性.

我想要的是,对于引用此DLL的每个C#应用程序,它将获得相同的静态类.

含义如果Application1将静态成员的值更改为5,然后Application2尝试获取该属性的值,则它将获得:5.

尽管这是两个不同的应用程序(EXE).

简单地说,我希望这个整个类库是"静态的",所以只有一次将它加载到内存中,然后它的单个值将被引用它的不同EXE共享.

谢谢

Ric*_*key 3

在同一计算机上的所有进程之间共享数据的一个有吸引力的解决方案是共享内存。您必须重写属性才能检索共享值,并且该类将多次加载到使用您的库的每个进程中,但如果操作正确,它将表现得好像只有一个副本。

这里有一个 StackOverflow 问题可以帮助您入门:

它链接到您可以使用的完整共享内存库。