Домены приложений

В.NET исполняемые файлы не обслуживаются прямо внутри процесса Windows, как это происходит в случае традиционных неуправляемых приложений. Вместо этого они обслуживаются в отдельном логическом разделе внутри процесса, который называется доменом приложения (Application Domain — AppDomain). В единственном процессе может содержаться несколько доменов приложений, каждый из которых обслуживает свой исполняемый файл.NET. Такое дополнительное подразделение традиционного процесса Windows предоставляет ряд преимуществ, главные из которых описаны ниже.

· Домены приложений унифицируют работу с программами в разных ОС

· Домены приложений менее дорогостоящи в плане потребления вычислительных ресурсов и памяти по сравнению с полноценными процессами. Благодаря этому CLR-среде удается загружать и выгружать домены приложений намного быстрее, чем формальные процессы, и тем самым значительно улучшать масштабируемость серверных приложений.

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

Для работы с доменами приложений используется класс System.AppDomain.

Некоторые члены класс AppDomain:

CreateDomain() Создать новый домен в текущем процессе
Createlnstance() Создать экземпляр типа из внешней сборки, загрузив сборку в текущий домен приложения
GetAssemblies() Сборки.NET, загруженные в текущий домен приложения
GetCurrentThreadld() Идентификатор активного потока в текущем домене приложения
Load() Динамически загружает сборку в текущий домен приложения
Unload() Выгружает определенный домен приложения из процесса
BaseDirectory Каталог, относительно которого ведется поиск сборок
CurrentDomain Домен приложения для текущего потока
FriendlyName Имя текущего домена приложения
Setuplnformation Параметры определенного домена приложения

Многопоточность. Классификация состояний потока. Средства многопоточного программирования System.Threading.

Для многопоточного программирования среда.NET предоставляет пространство имен System.Threading


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: