Домены приложений в .NET Compact Framework
Обновлен: Ноябрь 2007
Каждое приложение .NET Compact Framework выполняется внутри конструкции среды выполнения, называемой доменом приложения, сходным с процессом операционной системы. Платформа .NET Compact Framework гарантирует, что все управляемые ресурсы, используемые выполняющимся приложением, будут освобождаться или возвращаться операционной системе при завершении приложения.
Домены приложений обеспечивают многие преимущества процессов — например, изоляцию от сбоев, повышение надежности и безопасности, не требуя поддержки со стороны базовой операционной системы. Узел домена приложения запускает экземпляр среды CLR и сам является машинным кодом операционной системы. Среда CLR может связываться с узлом домена приложения статически или динамически.
Платформа .NET Compact Framework не налагает ограничения на поведение узлов доменов приложения. Узел домена приложения может быть простым расширением существующей интерактивной оболочки, которая используется для запуска и остановки программ. В динамических системах приложений наподобие Windows узел домена приложения может быть расширением загрузчика приложений, так что приложения .NET Compact Framework могут запускаться и останавливаться с использованием того же механизма, что и приложения в машинном коде.
Несколько доменов приложений
Платформа .NET Compact Framework поддерживает существование несколько доменов в приложении. Можно указать сборку в конструкторе класса. Затем можно использовать метод CreateDomain для запуска нового домена приложения. Новый домен приложения загружает собственные копии библиотек DLL, структур данных и пулов памяти среды CLR. В одном процессе операционной системы может существовать сразу несколько доменов приложений.
Примечание. |
---|
Платформа .NET Compact Framework не поддерживает загрузку сборок в доменно-нейтральную зону кода для совместного использования в нескольких доменах приложения. |
Платформа .NET Compact Framework определяет, когда должна выполняться сборка мусора. Сборка мусора может производиться в одном домене приложения или во всех доменах приложения. Это позволяет предотвратить ситуацию, когда какой-то домен приложения занимает слишком много памяти в ущерб другим доменам.