Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Выгрузка сборки из памяти

15K
18 января 2007 года
Hipson
16 / / 01.11.2006
В Win32 нужно было явно динамически загруженную DLL'ку отцеплять. А в dotNET выгружается ли сборка из памяти сама, если все ссылки на объект Assembly (и всё остальное из него) утрачены?
303
19 января 2007 года
makbeth
1.0K / / 25.11.2004
В .NET сборка остается не выгружается из памяти процесса до тех пор, пока существует домен приложения, в который она загружена. Поскольку в обычном приложении, как правило, один домен, который уничтожается при завершении процесса приложения, то ответ на твой вопрос - нет.
15K
19 января 2007 года
Hipson
16 / / 01.11.2006
А принудительно нельзя её как-нибудь выгрузить?

Может есть другое решение: Я с помощью JScriptCodeProvider создаю сборку (.CompiledAssembly) при CompilerParameters.GenerateInMemory=true, исполняю из неё что мне нужно и дальше хочу от неё избавиться.
Наверное, можно создавать сборку на диске, загружать её в другой домен, а потом уничтожать домен. Но это не хорошо - медленно (мне нужно много скриптов исполнять, скорость важна), да и криво как-то через файл.
303
19 января 2007 года
makbeth
1.0K / / 25.11.2004
Цитата: Hipson
А принудительно нельзя её как-нибудь выгрузить?


Документация четко говорит - либо вместе с доменом, либо никак :)

5
19 января 2007 года
hardcase
4.5K / / 09.08.2005
Цитата: Hipson
мне нужно много скриптов исполнять, скорость важна


Можно посмотреть в сторону DynamicMethod, которые можно генерировать в рантайме не прибегая к построению цельной сборки.
Объекты этого класса создаются в управляемой куче (реальные сборки, кажется, загружаются в неуправляемую кучу) и соответственно находятся под контролем сборщика мусора.

15K
19 января 2007 года
Hipson
16 / / 01.11.2006
Сейчас посмотрел DynamicMethod. Так ли я понял - это средство программно сформировать кусок кода и исполнить? А у меня скрипты на JScript должны писать пользователи - они-то ни про какие DynamicMethod'ы не знают...
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог