Предотвратить выгрузку домена приложений ASP.Net

2

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

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

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

2 nd EDIT. В моем EXE я создаю AppDomain, вызывая ApplicationHost.CreateApplicationHost и передать его в моем EXE, который запускает графический интерфейс.

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

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

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

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

  • 3
    Вам нужен серьезный обзор дизайна. Вы не должны этого делать.
  • 1
    Я понимаю, что это ужасный дизайн, но я не нашел никакой альтернативы. (Все же?)
Показать ещё 1 комментарий
Теги:
winforms
appdomain

3 ответа

1
Лучший ответ

Смотрите этот вопрос: Как предотвратить перезапуск приложения ASP.NET при изменении web.config?

3

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

Однако вы можете отключить это. Включите "Disable Recycling on Configuration Changes" для пула приложений, который вас интересует в панели управления IIS.

alt text http://img138.imageshack.us/img138/9938/iisdisablerecycle.png

  • 0
    Прочитайте вопрос; Я не использую IIS. Есть ли способ настроить это в самом ASP.Net?
  • 1
    В этом вопросе я не вижу ничего, что указывало бы на использование МКС или нет. Для справки, как именно вы запускаете домен приложения ASP.NET, если не через IIS?
Показать ещё 4 комментария
1

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

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

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

  • 0
    Это звучит интересно. Могу ли я распространять шаблоны вместе с программой и запускать их во время выполнения? Также можно ли получить IntelliSense в стиле ASP.Net при редактировании шаблонов? (В Visual Studio)
  • 0
    Да, шаблоны T4 - это простые текстовые файлы. Нет, не изначально. Тем не менее, есть интеллектуальный смысл для T4 от третьих лиц.
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню