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...