【发布时间】:2011-06-18 02:07:57
【问题描述】:
我在运行时将几个外部程序集加载到我的应用程序中。而且我需要限制每个外部程序集中定义的特定类可以使用的内存量,例如,每个实例 10 mb,否则我们会得到 OutOfMemory。
我已经用谷歌搜索了执行此操作的最佳方法,并找到了一些关于 CLR Runtime Hosting 的信息。这似乎是我需要的东西,但我找不到任何好的例子。
任何人都可以分享代码示例或一些关于使用 CLR 运行时托管的内存管理的链接吗? 或者也许有一些更好的解决方案来限制每个类的内存量?
提前致谢。
【问题讨论】:
-
这是一个有趣的话题。但是,您能否详细说明一下为什么要按班级进行?如果您从类实例中解放思想,也许还有其他明显的解决方案。
-
实际上,对每个班级进行限制并不是那么重要。一个确切类型的类是我唯一要实例化的东西,这就是为什么我的想法被类实例“锁定”了:)。例如,我可以在 appdomain 中做到这一点(在 appdomain 中创建每个实例),但我找不到限制每个 appdomain 内存的方法 :(。我的目标是以某种方式限制可用于“外部”的内存开发者”。
标签: .net memory-management clr clr-hosting