繁体   English   中英

是否将两个相同的dll都加载(如果位于不同的位置并被两个不同的应用程序引用)

[英]Will two identical dll's be both loaded (if located in different locations and referenced by two different applications)

假设我在IIS上托管了两个ASP.NET网站。 两者在bin文件夹中具有相同的DLL程序集“ 1.dll”。 CLR会同时加载两个“ 1.dll” DLL,还是足够聪明地一次加载它,然后再检查是否已在其他位置加载了具有所需版本/名称的组件?

如果引用“ 1.dll”而不需要特定版本,是否会有所不同?

如果两个站点使用相同或不同的应用程序池,会有所不同吗?

程序集被加载到应用程序域中,这是流程中的逻辑边界。 因此,如果您的Web应用程序在不同的应用程序池中运行(我的意思是不同的工作进程)-是的,它将再次加载。

如果引用“ 1.dll”而不需要特定版本,是否会有所不同? 没有

如果两个站点使用相同或不同的应用程序池,会有所不同吗? 如果应用程序池相同,则它可能使用共享的应用程序域(尽管不是很确定)

更新:为回答您的第二个问题,我在进程浏览器中检查了在同一池中运行的两个网站上已加载的程序集,不同的应用程序域已加载了自己的程序集实例。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM