如何查看AppDomain是否被卸载?我通过代理在另一个AppDomain中使用一堆对象。它们在一个单独的域中,并且由于我需要热交换包含这些对象的程序集,所以我在处理完它托管的程序集后卸载了一个AppDomain。有时我想检查一下我是否出于测试目的卸载了过去的AppDomain(或者它以某种方式单独卸载)。有没有办法做到这一点?显而易见的方法是做一些抛出AppDomainUnloadedException的事情,但我希望有另一种方法。我相信您可以在某些给定的字典中结合使用AppDomain的商店引用,在其中加载或卸载bool,并处理AppDomain.DomainUnload事件。字典appDomainState=newDictionary();应用程序域appDomain=...;//AppDomain创建appDomain.DomainUnload+=(sender,e)=>appDomainState[appDomain]=false;appDomainState.Add(appDomain,true);您可以检查AppDomain是否已卸载://"false"is"unloaded"if(!appDomainState[appDomainReference]){}或者,您可以使用AppDomain.Id作为键:应用程序域appDomain=...;//AppDomain创建appDomain.DomainUnload+=(sender,e)=>appDomainState[appDomain.Id]=false;appDomainState.Add(appDomain.Id,true);...并且if语句如下所示://"false"is"unloaded"if(!appDomainState[someAppDomainId]){}您可以使用此stackoverflow链接中的代码列出程序中的所有应用程序域。然后你可以通过ID或FriendlyName或类似的东西来比较它们。以上是C#学习教程:如何查看AppDomain是否已经卸载?如果所有分享的内容对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
