Компилирует ли App_Code в ASP.Net новый код для вторичного временного домена приложений? - PullRequest
2 голосов
/ 23 июня 2009

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

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

UPDATE:

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

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

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

1 Ответ

2 голосов
/ 23 июня 2009

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

...