Я должен реализовать сменную архитектуру в c#/.net для загрузки
из нестатических связанных файлов блока.
Поскольку приложение должно обработать много пользовательских определяемых пользователем действий, я нуждаюсь для разгрузки их когда-то выполнен для сокращения использования памяти.
Я нашел несколько хороших статей о сменной архитектуре, например:
но ни один из них не дал мне достаточно колбасы для того, чтобы правильно разгрузить блок.
Поскольку программа должна быть распределена, и определяемые пользователем действия (как имя указывает), определяемый пользователем: как я препятствую тому, чтобы блок выполнил вредоносный код (например, закрыл мой progra, удалив файлы)?
Есть ли какие-либо другие ловушки, с которыми встретился один из Вас?
Вы думали об использовании фреймворка Add-Ins and Extensiblity от MS? http://msdn.microsoft.com/en-us/magazine/cc163476.aspx
Michael
Один из способов - загрузить дополнительные сборки в отдельный домен приложений. Выгрузка AppDomain приведет к выгрузке сборок.
Вы не можете выгрузить отдельную сборку. Вы можете выгрузить только группу сборок, выгрузив AppDomain, частью которого они являются.
По сути, именно так работает SQL CLR и ASP.NET - с помощью переходного AppDomain для пользовательских сборок.