2010-03-03 5 views
8

Что такое домен приложения (AppDomain) и как он отличается от процесса или потока?Что такое .NET Application Domain?

+1

Возможный дубликат [Я не понимаю Области приложений] (http://stackoverflow.com/questions/622516/i-dont-understand-application-domains) –

ответ

6

См. MSDN.

Домены приложений обеспечивают более безопасную и универсальную единицу обработки, которую может использовать среда общего языка для обеспечения изоляции между приложениями. Вы можете запускать несколько доменов приложений в одном процессе с тем же уровнем изоляции, который существовал бы в отдельных процессах, но без дополнительных накладных расходов при совершении межпроцессных вызовов или переходе между процессами. Возможность запуска нескольких приложений в рамках одного процесса значительно увеличивает масштабируемость сервера.

AppDomain - это в основном изолированная среда исполнения для управляемого кода.

+1

+1 Подумайте об этом как о «легком процессе», и вы обычно будете достаточно близко. –

2

application domain - это «пробельные» сегменты кода. Он может использоваться для нескольких вещей, таких как создание песочницы при загрузке сборок, которые вы не полностью доверяете. Это отличается от потока/процесса тем, что в нем хранится код, который выполняется вместо фактически выполняемого кода. В широком смысле вы можете думать о любом приложении как о домене приложения.