Выгрузка домена приложения со ссылками - PullRequest
1 голос
/ 20 сентября 2009

Я новичок в использовании доменов приложений, поэтому я учусь по ходу дела.

Я использую домены приложений, чтобы изолировать экземпляры плагинов, которые я загружаю во время выполнения. Если я ссылаюсь на объект плагина (в его собственном домене приложения) из основного домена приложения, и я выгружаю этот домен приложения плагина, будет ли он полностью выгружен?

Насколько я понимаю, ссылаясь на экземпляр плагина из основного домена приложения, я фактически ссылаюсь на прозрачный прокси-сервер, поэтому я на самом деле не имею прямой ссылки на объект. В связи с этим я считаю, что в этом нет проблемы, но я хочу убедиться, что мое понимание верно.

1 Ответ

2 голосов
/ 20 сентября 2009

Ваше понимание верно: объекты в одном домене приложения не могут действительно ссылаться на объекты в другом домене приложения, поэтому выгрузка домена приложения действительно освободит все объекты в этом домене приложения (и ваши прокси-объекты станут устаревшими). ​​

По-прежнему существуют различные проблемы с выгрузкой: если в настоящее время в домене приложения выполняется определенный код (например, собственный код), то выгрузка завершится с исключением. Поэтому вы должны убедиться, что все потоки вернулись из AppDomain, прежде чем пытаться его выгрузить.

...