我有一小段代码,我不明白为什么它会占用大量内存。
static void Main(string[] args)
{
using (SPSite mySite = new SPSite("http://consotvo.internal.com/upi"))
{
using (SPWeb web = mySite.OpenWeb())
{
//foreach (SPFile file in web.Files[0])
// Console.WriteLine(file.Name);
SPFile file = web.Files[0];
using (SPLimitedWebPartManager manager = file.GetLimitedWebPartManager(PersonalizationScope.Shared))
{
foreach (System.Web.UI.WebControls.WebParts.WebPart wb in manager.WebParts)
{
Console.WriteLine(wb.Title);
//wb.Dispose();
//manager.Web.Dispose();
}
}
}
}
}
即使在执行代码之后,即使我还没有关闭控制台窗口,这段代码也消耗了 97,868 k 。我的问题是我想打开 3000 个网站(不同的 url)并对 webpart 进行更改,但消耗了太多内存。
更新
using (SPLimitedWebPartManager manager = file.GetLimitedWebPartManager(PersonalizationScope.Shared))
仅这条线就增加了 40,000 k