Предотвратить выгрузку домена приложений ASP.Net - PullRequest
2 голосов
/ 20 января 2010

Как описано здесь , я пишу графический интерфейс WinForms, который запускается в домене приложений ASP.Net.

Однако всякий раз, когда изменяется файл Web.config или папка bin, ASP.Net выгружает AppDomain, и вся программа умирает.

Есть ли способ предотвратить это?

2 и РЕДАКТИРОВАТЬ : В моемEXE, я создаю AppDomain, вызывая ApplicationHost.CreateApplicationHost и передаю ему тип в моем EXE, который запускает GUI.

EDIT : я уже знаю, чтоэто ужасный дизайн.
Есть ли у кого-нибудь вменяемые альтернативы?

Программа отслеживает счета некоммерческой организации в наборе типизированных данных.
Необходимо отправить счета по электронной почте, и я использую файлы ASPX для создания электронных писем.(Я бы предпочел не менять это, если нет очень хорошей альтернативы; шаблоны уже написаны)

Шаблоны электронной почты - это файлы ASPX, которые развернуты в подпапке;эта подпапка становится приложением ASP.Net и имеет исполняемый файл в своем каталоге bin для ASP.Net, чтобы загрузить весь мой код в свой домен приложений.

Типизированный набор данных должен быть доступен как пользовательскому интерфейсу, так иASPX-файлы, и я не хочу загружать данные с SQL-сервера дважды

Ответы [ 3 ]

3 голосов
/ 20 января 2010

Это ядро ​​ASP.Net - при изменении web.config домен приложения перезагружается. Если файл machine.config изменен, все домены приложений будут переработаны.

Однако вы можете отключить это. Включите «Отключить повторную обработку при изменениях конфигурации» для пула приложений, который вас интересует, на панели управления IIS.

альтернативный текст http://img138.imageshack.us/img138/9938/iisdisablerecycle.png

1 голос
/ 20 января 2010
1 голос
/ 20 января 2010

Я заметил, что ваш первый вопрос датирован 29 октября . Я знаю, что это далеко на пути разработки ...

Но просто из любопытства: почему бы не использовать T4 шаблонов ?

Это просто, быстро, вы можете редактировать почти как страницу ASPX, и оно работает в любом домене приложений.

...