我們有多個DAL項目。許多共享點列表像客戶,銷售商,反映在C#類中的提供者。我們通過抽象母類使每個對象實現IDisposable。每次我們實例化一個對象的時間從例如列表獲得一個客戶,來電者的代碼需要調用customer.Dispose()處置的SPWeb和SPSite的使用實例化對象:在整個應用程序生命週期中保持相同的SPWeb&SPSite?
public Customer(int spListItemID):base(LIST_URL)
{
try
{
spli = Liste.GetItemById(spListItemID);
}
catch(ArgumentException)
{
spli = null;
}
}
和構造函數的基類有spsite和spweb全局變量的實例化,還有dispose函數。
我想知道:如何使用相同的spweb和spsite爲整個sharepoint應用程序?我們所有的項目都知道一個項目,可以在單例模式下實例化這些spsite和spweb。我們會永遠使用這個spsite和spweb,我們永遠不會關閉它們,並且爲每個對象使用相同的內容,每次我們實例化一個對象時都可以保存開啓 - 關閉過程!
你認爲這是一個瘋狂的想法,這會產生影響嗎?我的意思是使用相同的spweb很長一段時間,也就是說服務器的運行時間......這是一個壞主意嗎?而不是每天爲每個實例化開放關閉spweb每天數千次? spweb的活着期限有限嗎? (這是一個很大的共享點應用程序,它有很多開發)
好的謝謝,除了網站上的標題,描述和其他信息(這些是基本信息,它們將永遠不會改變我們),是否有任何可能改變或需要刷新或者不可避免地會因爲多用戶環境?他們正在處理列表,添加,刪除,編輯事件接收器,計時器作業,工作流程......:s – KitAndKat 2011-06-14 12:47:16
無論如何,我想你是對的,有很多屬性會發生衝突,比如CurrentUser for例如,在這種情況下,什麼是currentuser ...,這個類是如此龐大而複雜(反射器顯示它!),它將不可避免地在幾個月內同時被幾個人使用而崩潰...... – KitAndKat 2011-06-14 13:51:46