Possible memory leakage with the following MOSS 2007 code?
-
03-06-2021 - |
题
Does the below code leaks memory? If so, any recommendations on optimising it?
SPWeb web = (SPWeb)properties.Feature.Parent; // comes from the event receiver
//... lots of other code
// the below is the focal point.
foreach (SPWeb childWeb in web.Webs)
{
try
{
// lots of heavy processing with the childWebs
}
finally
{
if (childWeb != null)
{
childWeb.Dispose();
}
}
}
解决方案
The code you have posted should be fine. However, depending on what you do with the childWeb within the try-statement, it might cause memory leaks. Can you post the entire code? Do you suspect memory leaks?
其他提示
According to Disposing Objects, your code matches the Good Coding Practice for SPWeb.Webs.
As mentioned on that page, I would recommend downloading and using SPDisposeCheck as both verification of correct code and identification of potential memory leaks.
不隶属于 StackOverflow