Узлы доменов приложений
Обновлен: Ноябрь 2007
Каждое приложение .NET Framework запускается в домене приложения под контролем узла, который создает домен приложения и загружает в него сборки. У узла есть доступ к информации о коде (свидетельство), такой как зона источника кода или цифровые подписи сборок в домене приложения. Доверенный узел — это узел, обладающий разрешением на предоставление информации такого типа среде CLR. Класс System.AppDomain предоставляет функциональные возможности домена приложения, используемые узлом.
В следующей таблице описаны типы узлов приложений.
Узел домена приложения |
Описание |
---|---|
Узел обозревателя (например, Microsoft Internet Explorer) |
Запускает код в контексте веб-узла. |
Пользовательский узел |
Создает домены и загружает в них сборки, в том числе динамические сборки. Может быть написан в управляемом и неуправляемом коде. |
Узел сервера (например, ASP.NET) |
Запускает код, который обрабатывает запросы, направляемые серверу. |
Узел оболочки |
Запускает приложения (EXE-файлы) в оболочке. |
После создания нового домена приложения узел может определить политику, применяемую к коду в рамках домена приложения. Эта политика всегда подчинена политике предприятия, компьютера и пользователя. Узел может ограничить набор разрешений, допущенных политикой компьютера и пользователя, но не может расширить его. Политика для домена приложения может быть установлена только один раз. Чтобы установить политику домена, узел должен иметь разрешение безопасности (предоставленное посредством класса SecurityPermission) на управление политикой домена.
После того как политика домена приложения установлена, всем сборкам, загруженным позднее, предоставляются разрешения в соответствии с новой политикой (политикой предприятия, компьютера, пользователя и домена приложения). Сборки, загруженные ранее, получают разрешения в соответствии с существовавшей ранее политикой (только политикой предприятия, компьютера и пользователя). Предоставленные этим сборкам разрешения не вычисляются повторно в соответствии с новой политикой домена приложения.
Доверенный узел может предоставлять среде выполнения сведения (свидетельство) о сборках, загруженных в домен приложения. Если узел домена не обладает соответствующим разрешением SecurityPermission для управления свидетельством, среда выполнения использует примененную к узлу безопасность, чтобы определить, какую безопасность следует применить к сборке.
В некоторых случаях свидетельство, которое обычно предоставляется доверенным узлом домена приложения, фактически предоставляется загрузчиком. Как правило, после создания домена приложения узел домена приложения загружает в него первую (главную) сборку и вызывает ее, чтобы начать выполнение. Когда код в первой сборке ссылается на код в другой сборке, загрузчик разрешает ссылку, загружает соответствующую сборку в домен приложения и передает свидетельство сборки среде выполнения. В этой ситуации доверенный узел домена приложения, предоставляющий свидетельство для исходной сборки, не предоставляет свидетельство для сборок, загруженных впоследствии.