sharepoint物件模型效能比較

2022-02-19 16:22:08 字數 1501 閱讀 7652

sharepoint的物件模型的屬性和方法有多種,可能對於一些初學者不明白他們之間有什麼區別,那種更優越,在何種情況下用那種屬性或方法,通過這篇文章你會有所了解

1,splist

有些人喜歡通過列表的名字去獲得列表,

using (spsite site = new spsite(strsite))

}這個例子中,**會先載入web下的所有olist,返回所有olist的title,然後去乙個個比較title與listname後,得到olist;

using (spsite site = new spsite(strsite))

}在這個例子中,**先根據url返回列表的guid,然後再根據guid去找web下的list

2,splistitemcolliction

using (spsite site = new spsite(strsite))}}

在這個例子中,   olist.items[idx]每次都會載入乙個splistitemcolliction,比如,如果你的列表有10000個item,

olist.items[idx]每次都會載入這10000個item,這將會消耗不少記憶體去存這個splistitemcolliction;

using(spsite site = new spsite(strsite))}}

在這個例子中,先去得到乙個splistitemcolliction,這個記憶體只需去載入一次splistitemcolliction

3,splistitem in event handlers

public override void itemadded(spitemeventproperties properties)}}

在這種情況下,我們多餘的裝載物件消耗了apis,並且將裝載乙個splistitemcolliction,請看下面的方法:

public override void itemadded(spitemeventproperties properties)

這用該不用多說了吧

4,splistitem count

using (spsite site = new spsite(strsite))

}olist.items.count,首先在記憶體中載入所有的items,並計算出count;

using (spsite site = new spsite(strsite))

}itemscount是splist的屬性,沒有過多的載入items

5,items

splist.items.count

splist.itemscount

splist.items[guid]

splist.getitembyuniqueid(guid)

splist.items[int32]

splist.getitembyid(int32)

splist.items.getitembyid(int32)

splist.getitembyid(int32)

列表左面的做了額外功,右面高效

sharepoint物件模型及相關屬性

集合 collection 很多物件都有集合 spweb spwebcollection splist splistcollection 操作 get xxcollection idx xxcollection.get by add xxcollection.add del xxcollection...

SharePoint物件模型效能考量(2)

開發過程的一些效能總結 1.取得列表中的item的數量 int count spcontext.current.list.items.count 這句是取得item的數目,不得不取得列表中的所有的item的metadata,這樣我們程式執行的速度就會相對慢一些,如果列表中的資料量不大,那不會有明顯的...

sharepoint物件模型及相關屬性 轉轉

集合 collection 很多物件都有集合 spweb spwebcollection splist splistcollection 操作 get xxcollection idx xxcollection.get by add xxcollection.add del xxcollection...