Как правило, использование доменов приложений не является повседневной практикой кодирования, это может считаться чем-то вроде продвинутой концепции ... но, исходя из этой простой вещи, важно лучше понять концепции, стоящие за словом "домен приложений".
С точки зрения архитектуры, и, говоря проще, AppDomain является изолированным контейнером даже с точки зрения адресации памяти, внутри него загружаются и выполняются все сборки, необходимые приложению, даже если эта концепция сложнее объясните подробно (надеюсь, дело не в том, чтобы углубиться в ваш вопрос).
Начиная с этого момента, класс AppDomain в первую очередь используется для получения доступа к исполняемому домену приложения, связанному с приложением, это можно сделать с помощью реализации свойства Singleton AppDomain.CurrentDomain
. Таким образом, возможно:
- получить доступ к загруженным сборкам;
- получить доступ к общим слотам данных appdomain;
- сортировка целых чисел с точки зрения развертывания созданных экземпляров из загруженных сборок в созданных доменах.
Затем класс AppDomain используется для:
- создать больше "доменов" в одном процессе;
- выполнение сборок в процессе;
- управлять процессом загрузки / выгрузки домена приложения.
Может быть полезно взглянуть на код новой платформы Microsoft (еще не выпущенной) сборок.
В качестве простого примера вещей и примеров того, что вы можете делать с доменами приложений, я могу поделиться этой ссылкой .
Надеюсь, я ответил на ваш вопрос.