Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Границы контекстов объектов





Выгрузка доменов приложений программным образом

Загрузка сборок в специальные домены приложений

CLR-среда будет всегда загружать сборки в используемый по умолчанию домен приложения по мере необходимости. Однако в случае создания вручную специальных доменов приложений, эти сборки можно загружать в данные домены с помощью метода AppDomain. Load () . Кроме того, существует метод AppDomain.ExecuteAssembly (), который позволяет загрузить сборку * . ехе и выполнить метод Main ().

Важно отметить, что выгружать отдельные сборки .NET в CLR-среде не разрешено. Однако с помощью метода App Domain. Unload () можно производить избирательную выгрузку определенного домена приложения из обслуживающего процесса. В этом случае вместе с доменом приложения будут выгружаться и все содержащиеся в нем сборки. Вспомните, что тип AppDomain имеет событие DomainUnload, которое срабатывает при выгрузке специального домена приложения из содержащего его процесса. Еще одним интересным событием является ProcessExit, которое срабатывает при выгрузке из процесса используемого по умолчанию домена (что, вполне очевидно, влечет за собой завершение самого процесса).

Выше было показано, что домены приложений представляют собой логические разделы внутри процесса, которые используются для обслуживания сборок .NET. Однако на этом дело не заканчивается, поскольку каждый домен приложения может быть дополнительно разделен на многочисленные контексты. Вкратце, контекст в .NET предоставляет возможность закреплять за конкретным объектом "определенное место" в одном домене приложения.

На заметку! Следует отметить, что если понимание концепции процессов и доменов приложений является довольно важным, то необходимость работы с контекстами объектов в большинстве приложений .NET возникает очень редко. Материал по контекстам объектов включен в настоящую главу лишь для предоставления более полной картины.

Используя контекст, CLR-среда обеспечивает надлежащую и согласованную обработку объектов, которые предъявляют специальные требования к этапу выполнения. Она перехватывает вызовы методов, производимых внутри и за пределами конкретного контекста. Этот уровень перехвата позволяет CLR-среде подстраивать текущий вызов метода так, чтобы он соответствовал контекстным настройкам конкретного объекта. Например, в случае определения на С# класса, требующего автоматического обеспечения безопасности в отношении потоков (за счет использования атрибута [Synchronization]), CLR-среда будет создавать во время его размещения так называемый "синхронизированный контекст".





Дата добавления: 2014-01-03; Просмотров: 173; Нарушение авторских прав?


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



ПОИСК ПО САЙТУ:


Рекомендуемые страницы:

Читайте также:
studopedia.su - Студопедия (2013 - 2020) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление
Генерация страницы за: 0.001 сек.