由于一些内存泄漏,一些内存不会被释放,除非执行IISreset。
我发现了一些代码,其中我有一个属性和方法的类,其中只有10%的方法是特定于该类的,90%可以移动到另一个类。
这有多糟糕?这是否会影响我的记忆力,因为我使用该应用程序的每个用户都启动了这个类?
它是一个基于IIS6的ASP.NET应用程序。
发布于 2011-10-17 07:35:10
我想如果这些方法不需要实例状态,但需要一个实例来调用(即它们是从不引用‘this’的实例方法),那么它们可以变成静态方法,并为您节省一次对象分配。然而,如果你不得不分配对象(就像你说的那样,对于你提到的其他"10%的功能“),这听起来似乎不会解决问题。
您可能应该使用调试器对应用程序中的内存使用情况进行分析。Rico Mariani在这里有一篇关于追踪托管内存泄漏的很好的博客文章:http://blogs.msdn.com/b/ricom/archive/2004/12/10/279612.aspx。它是旧的,但仍然有意义。(注意:如果您碰巧使用的是.NET 4.0,则需要执行".loadby sos clr“安装".loadby sos mscorwks”来加载WinDBG中的SOS调试器扩展。)
https://stackoverflow.com/questions/7788050
复制相似问题