Я пытаюсь лучше понять, как работает папка 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.
Мой вопрос все еще в силе - создан ли второй домен приложений, поддерживающий эту библиотеку, и если да, то минимально ли влияние на производительность?