Вот и подходит двухнедельный отдых к концу, а вместе с ним и накопившиеся темы с предыдущей встречи сообщества .Net разработчиков на CLRium. Эта серия постов примерно показывает уровень, с которым мы раскрываем темы на этом мастер-классе, а что будет во второй встрече, можно почитать по ссылке: CLRium #2.
Ручное клонирование потока. Когда Assembler + C# или Java = Love
Изменение кода системных сборок или «утечка» .Net Framework 5.0
Как работает декомпиляция в .Net или Java на примере .Net
Продолжаем кромсать CLR: пул объектов .Net вне куч SOH/LOH
Снимаем дамп объектов с памяти .Net приложения
Ссылка на проект в GitHub: DotNetEx
На множественных ресурсах время от времени задается вопрос. Можно ли сделать отгружаемые сборки с текущего домена? Так, чтобы попользовался и «давай, до свидания!»? Везде и всегда ответ, который давался – это «нет». Ведь единственное, что можно выгрузить – это домен. Соответственно, если хочется наладить отгрузку, сборку надо помещать в домен, и налаживать между доменами взаимодействие через сериализуемые типы. А это — очень медленное взаимодействие. А мы скажем так. Можно. С ньюансами. Загружать мы будем также в отдельный домен. Но отменим сериализацию при вызове методов между доменами.
Вопросы, которые мы будем решать:
- Создание домена с возможностью отдачи объекта из домена в родительский
- Выгрузка сборки