在dll中嵌入一些文件是不对的?

Rik*_*ika 1 c# dll

性能方面,将文件嵌入dll的资源部分是错误的吗?
这似乎是愚蠢的,但旨在试图嵌入其可之后的一些方法来获取的DLL里面的一些信息,如果整个解决方案和文档丢失,我们只有DLL.
做这样的事情有什么缺点?
是建议还是禁止?

Han*_*ant 5

嵌入式资源非常有效.在引擎盖下,它使用操作系统的需求分页虚拟内存功能.内存映射文件的完全等价物.换句话说,资源可以在内存中直接访问.在开始使用资源之前,您不需要为资源付费.第一次访问资源会强制从文件中读取并复制到RAM中.而且是便宜取消映射再次,操作系统可以简单地丢弃的页面.没有办法让它更有效率.

奖牌的另一面是它永久映射到虚拟内存中.换句话说,您的进程会丢失资源占用的内存空间.您将更快地运行可用的地址空间,更有可能出现OutOfMemoryException.

这通常不会让你担心,直到你在32位进程中吞噬半个千兆字节.并且不要在64位进程中烦恼.