2

我有一个服务应用程序,它在用于长时间运行的任务的过程中创建 AppDomain。我一直在通过将它们存储在具有唯一 ID 的哈希表中来跟踪它们。

任务完成后,服务应用程序会卸载分配给该任务的 AppDomain,然后将其从 appdomain 哈希表中删除。

纯粹从完整性检查的角度来看,有没有一种方法可以查询 CLR 以查看创建应用程序域仍加载哪些应用程序域(即,我可以将跟踪 Hashtable 与 CLR 实际看到的内容进行比较)?

4

3 回答 3

2

AFAIK,您需要保留自己的列表 - 就像您已经一样。

于 2008-10-05T07:57:59.250 回答
2

如果您使用非托管 API,您可以设置一个 DomainManager,在每次创建 AppDomain 时调用它,您会发现许多部分正在创建自己的 AppDomain,例如 WCF。自定义 Microsoft .NET Framework 公共语言运行时中有详细说明

另一条路线是使用调试 API。

于 2009-05-07T08:27:18.640 回答
2

我想你也想看看这篇文章——“在 WPF 中使用应用程序域”。

于 2009-05-28T14:17:07.297 回答