代码之家  ›  专栏  ›  技术社区  ›  SLaks

阻止ASP.NET AppDomain卸载

  •  2
  • SLaks  · 技术社区  · 15 年前

    如上所述 here ,我正在编写一个在ASP.NET AppDomain中运行的WinForms GUI。

    但是,每当web.config或bin文件夹被修改时,ASP.NET将卸载AppDomain,整个程序将终止。

    有什么方法可以防止这种情况发生吗?

    编辑 :在我的exe中,我通过调用 ApplicationHost.CreateApplicationHost 并在我的exe中传递一个启动GUI的类型。

    编辑 :我已经知道这是 好可怕 设计。
    有人有理智的选择吗?

    该程序在类型化数据集中跟踪非营利组织的帐户。
    它需要通过电子邮件发送账单,我使用ASPX文件来生成电子邮件。(我不想改变这一点,除非有一个非常好的替代方案;模板已经写好了)

    电子邮件模板是部署在子文件夹中的ASPX文件;该子文件夹将成为ASP.NET应用程序,并在其 bin 用于将所有代码加载到其AppDomain的ASP.NET目录。

    类型化的数据集必须同时由UI和ASPX文件访问,我不想从SQL Server下载两次数据。

    3 回复  |  直到 10 年前
        2
  •  3
  •   womp    15 年前

    这是ASP.NET的核心-如果web.config被更改,AppDomain将被回收。如果machine.config被更改, 全部的 AppDomain被回收。

    但是,您可以禁用它。为您在IIS控制面板中感兴趣的应用程序池启用“配置更改时禁用回收”。

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

        3
  •  1
  •   SLaks    15 年前

    我注意到你的第一个问题已经过时了 10月29日 . 我知道它离发展轨道很远…

    但出于好奇:为什么不使用 T4 templates 是吗?

    它很简单,速度很快,你可以像一个ASPX页面一样进行编辑,它可以在任何你所在的AppDomain中运行。