在我的 ASP.NET MVC 项目中,我想将我的服务类作为类库。
我想在我的主项目中添加几个dll
将添加的dll具有自己的程序集引用。其中一些可能是相同的,例如System
等
这种架构是否会影响主要项目的性能?
只加载了一个System
- dll,还是为每个类库单独加载?
答案 0 :(得分:2)
对于给定的.NET进程,默认情况下是单个 AppDomain ,这是加载和解析DLL的环境。这意味着如果您引用DLL X(Say,System.dll),并且还引用也引用System.dll的DLL Y,它只会被加载到appdomain中一次,并且进一步的引用将在内存中重用相同的实例。 / p>
对于自定义程序集也是如此。如果X和Y都引用Z.dll,它仍然只加载一次。
你可以轻易地知道你不会在这里造成任何臃肿。