0
我有这个代码小块,我不明白为什么它采取洙内存。为什么这个代码小块被消耗97868 K内存
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();
}
}
}
}
}
此代码消耗97868ķ代码已被执行后,甚至连想都没想我没有关闭控制台窗口呢。我的问题是,我想打开3000个网(不同的URL),并进行更改的WebPart 但太多的内存被消耗。
更新
using (SPLimitedWebPartManager manager = file.GetLimitedWebPartManager(PersonalizationScope.Shared))
独此行是增加40000ķ
你如何衡量这个数量? – Steve
目前,无法评估加载和使用所有程序集/代码的开销,以及单个请求的实际内存影响。至少,你应该测量一下,比如做10或20的单个请求,以确定每个请求的实际内存使用量可能是多少。另外,你如何测量消耗的内存? –
是什么让你觉得消耗的内存太多了?仅仅因为1个网页消耗x,并不意味着2个网页会消耗2个网页。另外,请记住'使用'语句(或者他们调用的'Dispose'方法)与内存消耗无关。 –