【发布时间】:2012-02-16 17:09:55
【问题描述】:
如果一个人多次调用Assembly.Load 是否会产生副作用?
例如
for (int i = 0; i < N; i++)
{
Assembly.Load(assemblyStrongName);
// .......
}
这会加载一次程序集,不是吗?我之前和之后都检查过AppDomain.CurrentDomain.GetAssemblies(),它似乎加载了一次(应该如此),但它有副作用吗?
在长时间运行的服务器应用程序中(运行数月/数年而无需重新启动)上述是否会导致任何问题?
【问题讨论】:
-
如果你有一个系统,加载程序集是它保持活动数月/年的关键部分,我印象深刻。
-
推论 - 如果您正在寻找内存泄漏,请使用适当的工具来识别正在泄漏的实际对象,而不是查看您的源代码并随机猜测“可能”是泄漏。
-
@Damien_The_Unbeliever:我不是在追逐内存泄漏。到目前为止,我从未手动加载过程序集,所以这只是(程序员)好奇:)。
标签: c# .net load assemblies