Компилирует ли App_Code в ASP.Net новый код во вторичный временный домен приложений?

Я пытаюсь лучше понять, как работает папка App-Code, и, в частности, мне любопытно, как новые объекты нового класса в папке App-Code включаются в текущий AppDomain. Создается ли второй временный домен приложений таким же образом, как когда я компилирую новые объекты с помощью CodeDom?

Во многих отношениях возможность перемещения новых классов / объектов в веб-приложение очень привлекательна. MVC Storefront Роба Коннери является хорошей иллюстрацией. Если вы использовали папку App-code для развертывания новых функций, были ли какие-то компромиссы или подводные камни, которые следует учитывать?

ОБНОВИТЬ:

Я нашел статью в журнале CoDe Magazine с таким интересным отрывком:

Код вашего приложения может быть встроен в страницу или элемент управления ASPX, он может входить в частичный класс CodeBeside или вы можете создавать полностью автономные классы в папке APP_CODE. Папка APP_CODE - это специальная папка в проекте ASP.NET 2.0, и любой исходный код, не связанный со страницей или элементами управления, в вашем веб-проекте должен находиться в этой папке. ASP.NET обрабатывает содержимое APP_CODE как проект библиотеки и компилирует содержимое в отдельную сборку. Затем на эту сборку ссылаются все сборки уровня страницы или каталога, которые ASP.NET создает из ваших страниц ASPX / ASCX, которые используют любой из классов, определенных в APP_CODE.

Мой вопрос все еще в силе - создан ли второй домен приложений, поддерживающий эту библиотеку, и если да, то минимально ли влияние на производительность?


person David Robbins    schedule 23.06.2009    source источник


Ответы (1)


Подробностей не знаю, но точно будет в разных динамических сборках. Класс не может находиться в другом домене приложений. Только экземпляр класса может находиться в другом домене приложения, и тогда действительно сложно получить доступ из другого домена приложения (только через удаленное взаимодействие)

person chris166    schedule 23.06.2009