Домены приложений (C# и Visual Basic)
Домены приложений обеспечивают гибкий и безопасный метод изоляции выполняющихся приложений.
Домены приложений обычно создаются и управляются хост-приложениями среды выполнения. В отдельных случаях может потребоваться, чтобы приложение программно взаимодействовало с доменами приложений для, например, выгрузки компонента без вынужденной остановки выполнения приложения.
Домены приложений помогают обеспечивать безопасность, отделяя приложения друг от друга и от данных других приложений. В одном процессе может выполняться несколько доменов приложений при том же уровне изоляции, что и при использовании раздельных процессов. Выполнение нескольких приложений в одном процессе повышает масштабируемость серверов.
В следующем примере кода создается новый домен приложения, после чего загружается и выполняется построенная ранее сборка HelloWorld.exe, хранящаяся на диске C.
' Create an Application Domain:
Dim newDomain As System.AppDomain = System.AppDomain.CreateDomain("NewApplicationDomain")
' Load and execute an assembly:
newDomain.ExecuteAssembly("c:\HelloWorld.exe")
' Unload the application domain:
System.AppDomain.Unload(newDomain)
// Create an Application Domain:
System.AppDomain newDomain = System.AppDomain.CreateDomain("NewApplicationDomain");
// Load and execute an assembly:
newDomain.ExecuteAssembly(@"c:\HelloWorld.exe");
// Unload the application domain:
System.AppDomain.Unload(newDomain);
Общие сведения о доменах приложений
Домены приложений обладают следующими свойствами:
Прежде чем сборка может быть выполнена, она должна быть загружена в домен приложения. Дополнительные сведения см. в разделе Сборки и глобальный кэш сборок (C# и Visual Basic).
Сбои в одном домене приложения не влияют на код, выполняющийся в другом домене приложения.
Можно прекратить выполнение и выгрузить код отдельных приложений, не останавливая процесс целиком. Выгрузить отдельные сборки или типы невозможно, домены приложений нужно выгружать целиком.
Связанные разделы
Выполнение кода в другом домене приложения (C# и Visual Basic)
Практическое руководство. Создание и использование доменов приложений (C# и Visual Basic)
См. также
Основные понятия
Руководство по программированию на C#
Сборки и глобальный кэш сборок (C# и Visual Basic)
Другие ресурсы
Руководство по программированию на Visual Basic
Программирование с использованием доменов приложений и сборок