【发布时间】:2012-02-25 00:32:28
【问题描述】:
是否可以检索在当前 appdomain 中创建的所有静态对象?我正在尝试为现有的 asp.net 网站编写一个调试页面。它在基于单例对象的缓存中保存了大量信息。
谢谢
【问题讨论】:
标签: c# asp.net static appdomain
是否可以检索在当前 appdomain 中创建的所有静态对象?我正在尝试为现有的 asp.net 网站编写一个调试页面。它在基于单例对象的缓存中保存了大量信息。
谢谢
【问题讨论】:
标签: c# asp.net static appdomain
以下是帮助您入门的内容:
IList<Assembly> assemblies = AppDomain.CurrentDomain.GetAssemblies();
List<Type> allTypes = new List<Type>();
foreach (Assembly assembly in assemblies)
{
var types = from t in assembly.GetTypes()
where bootStrapperType.IsAssignableFrom(t)
&& !t.IsInterface && !t.IsAbstract
select t;
allTypes.AddRange(types);
}
foreach(Type type in allTypes)
{
var fieldsPublic = type.GetFields(BindingFlags.Public|BindingFlags.Static);
foreach(var field in fieldsPublic)
{
var nameAndValue = field.Name + " = " + field.GetValue(null);
// Do something
}
var fieldsPrivate = type.GetFields(BindingFlags.Private|BindingFlags.Static);
foreach(var field in fieldsPrivate)
{
var nameAndValue = field.Name + " = " + field.GetValue(null);
// Do something.
}
}
【讨论】:
【讨论】: