-
public static IList GetAppDomains()
-
{
-
IList list = new List();
-
IntPtr enumHandle = IntPtr. Zero;
-
CorRuntimeHostClass host = new CorRuntimeHostClass();
-
try
-
{
-
host. EnumDomains( out enumHandle);
-
object domain = null ;
-
while ( true )
-
{
-
host. NextDomain(enumHandle, out domain);
-
if (domain == null ) break ;
-
AppDomain appDomain = (AppDomain)domain;
-
list. Add(appDomain);
-
}
-
return list;
-
}
-
catch (Exception e)
-
{
-
return null ;
-
}
-
finally
-
{
-
host. CloseEnum(enumHandle);
-
Marshal. ReleaseComObject(host);
-
}
-
}