Мне было просто интересно, что произойдет, если в веб-приложении дважды загрузить одни и те же байты сборки.
Например, у меня есть этот код
byte[] assem = System.IO.File.ReadAllBytes(appRoot + "/Plugins/Plugin.dll");
var loadedAssem = Assembly.Load(assem);
var plugin = loadedAssem.CreateInstance("Plugin.ThePlugin") as IPlugin;
Я запустил этот код и при первом запросе я предполагаю, что он загрузит сборку в ram (или в домен приложения времени выполнения http?), А затем я смогу создать экземпляры всего, что там есть.
Если бы я снова запустил этот код, скажите во втором запросе, что произойдет со сборкой при первом запросе?
Будет ли все еще существовать в ОЗУ? если да, то как он различает две сборки? или он перезаписывает ранее объявленные классы?
Это для моего понимания, как и в PHP, это не просто случай "require_once".