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'方法)與內存消耗無關。 –