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

关闭AppDomain及其创建的所有AppDomain

  •  2
  • Phil  · 技术社区  · 14 年前

    我想在应用程序域中运行第三方库(在本例中为XSP),以便关闭它并控制其行为。

    基本流程:

    var child = AppDomain.CreateDomain(...) 
    ...
    AppDomain.Unload(child)
    

    当子应用程序域创建应用程序域本身时不起作用。当我关闭“child”时,它创建的任何应用程序域仍然存在。

    我想能够说'卸载这个和它里面的所有东西'或者检测一个应用程序域何时创建一个新的应用程序域,这样我就可以将它添加到一个要清理的东西列表中。

    有支持这两种方法的api吗?

    有没有其他方法可以在不产生操作系统进程的情况下实现相同的目标?

    2 回复  |  直到 14 年前
        1
  •  1
  •   Pontus Gagge    14 年前

    尚未尝试此操作,但如果至少是2.0版,则应能够配置替换项 AppDomainManager ,重写其 CreateDomain() 方法,并通过 AppDomain.CurrentDomain 调用CreateDomain()时的属性。一旦你有了父母和孩子的线索,你就可以强迫他们 unloading .

        2
  •  0
  •   Ash    14 年前

    您应该为 域卸载事件