内存中的大型数据集 - .NET Framework和C#

Zul*_*pia 2 .net c# dll singleton memory-management

我有一个DLL项目,它使我的应用程序中使用的所有显示字符串的单例.问题是我需要在许多独立运行的应用程序中引用此DLL.

我明白,如果我引用的DLL项目中的所有独立运行的应用程序,他们将所有的DLL加载到内存中,使个别单身人士,他们可以参考,但是这是冗余我想避免.

有没有办法可以将这个单例的一个实例保存在内存中并从所有独立项目中引用它?

我知道我可能听起来很愚蠢,而且这种装载可能根本不会发生,但我现在一直在搜索大约一个小时:)

我使用.NET框架和C#作为目标语言.

Dev*_*eam 5

通常,不同的进程具有不同的地址空间.由于DLL文件通常被加载到进程地址空间中,因此有必要编写一些特殊代码来实现进程之间的数据共享.通常,这是使用Windows API完成的,例如,借助内存映射文件.您可以在以下位置了解更多信息:

在两个进程之间共享内存(C,Windows)

使用Windows API并不错,但它在某种程度上与.NET Framework理念相矛盾.我认为当单个服务器可以与不同的客户端一起工作并将所需的数据传递给它们时,最好创建一个客户端 - 服务器体系结构.这可以使用例如RemotingWCF来完成.