Клас appdomain (system)

Домени додатків, які представлені AppDomain об'єктів, що допомагають кордону ізоляції, вивантаження і безпеки для виконання керованого коду.

Використання доменів додатків для ізоляції завдань, які можуть призвести до зупинки процесу. Якщо стан AppDomain, який виконує завдання, стає нестабільним, AppDomain може бути вивантажений без впливу на процес. Це важливо, якщо процес повинен виконуватися тривалий без перезавантаження. Можна також використовувати домени додатків для ізоляції завдань, які не слід спільно використовувати дані.

Якщо збірка завантажується в домен зі стандартними програмами, він не може бути вивантажено з пам'яті під час виконання процесу. Проте якщо відкрити другий домен додатки для завантаження і виконання збірки, збірка вивантажується, коли домен додатки вивантажено. Цей прийом можна використовуйте для мінімізації робочого набору довго виконуються процесів, які періодично використовувати великі бібліотеки DLL.

Можна запустити кілька доменів додатків в одному процесі; Однак немає однозначної відповідності між потоками і доменами додатків. Кілька потоків можуть належати одному домену додатки, і під час даного потоку не пов'язана ні з одним доменом додатки, в будь-який момент часу, потік виконується в одному домені додатку.

Домени додатків створюються за допомогою CreateDomain метод. AppDomain екземпляри використовуються для завантаження і виконання збірок (Assembly). Коли AppDomain - більше не використовується, він може бути вивантажений.

AppDomain Клас реалізує набір подій, які дозволяють додаткам реагувати при завантаженні збірки, при вивантаженні домена додатку або при виникненні необробленого виключення.

Додаткові відомості про використання доменів додатків см. В розділі Домени додатків.

Значення за замовчуванням для AppDomainSetup.DisallowCodeDownload властивість false. Цей параметр є безпечною для служб. Для запобігання завантаження служб з частково довіреної коду, надайте цій властивості значення true.

Схожі статті