Я все время спрашиваю об AppDomains в интервью, и Я знаю основы:
- они являются уровнем изоляции в приложении (что отличает их от приложений)
- у них могут быть потоки (что отличает их от потоков)
- исключения в одном приложении не влияют на другие
- приложения не могут получить доступ друг к другу.
- каждый appdomain может иметь разную безопасность
Я все еще не понимаю, что делает их необходимыми. Я ищу подходящее конкретное обстоятельство, если вы его используете.
Ответы:
- Неверный код
- Основное приложение защищено
Непринужденным/сторонним плагинам запрещается повреждать разделяемую память и несанкционированный доступ к реестру или жесткому диску путем изоляции в отдельном appdomain с ограничениями безопасности, защищая приложение или сервер. например Код компонента хостинга ASP.NET и SQL Server
- Основное приложение защищено
- Надежный код
- Стабильность
Приложение сегментировано в безопасные, независимые функции/функциональность - Архитектурная гибкость
Свобода запуска нескольких приложений в одном экземпляре CLR или в каждой программе.
- Стабильность
Что-нибудь еще?