Как создается домен приложения?
В.Net мы можем создать AppDomain, написав
AppDomain domain = AppDomain.CreateDomain("MyDomain");
У меня вопрос, как он создается внутри? Приложение, в котором мы используем этот код, приложение работает в другом домене приложения, отличном от нового, который мы создаем, так как один домен приложений создает другой домен приложений и как clr решает, какие приложения создаются в каком домене приложений.
1 ответ
Не совсем понятно, что вы пытаетесь решить.
Домены приложений создаются средой выполнения.Net при инициализации управляемого приложения.
Когда вы запускаете ABC.EXE, он получает домен приложения. Если вы запускаете второй экземпляр ABC.EXE, он получает новый отдельный домен приложения.
Теперь, если ваш ABC.EXE выполняется AppDomain domain = AppDomain.CreateDomain("MyDomain");
тогда у вас будет 4 домена приложений, которые не могут (легко) общаться друг с другом.
Домены приложений обычно создаются хостами. Примерами хостов являются Windows Shell, ASP.NET и IE. Когда вы запускаете приложение.NET из командной строки, хостом является оболочка. Shell создает новый AppDomain для каждого приложения. Домены приложений также могут быть явно созданы приложениями.NET.