2010-01-13 150 views
1

我很新到SharePoint Web部件的發展,所以我不知道用於處理數據持久化的最佳實踐。在我的應用程序中,用戶回發將修改一些我想維護而不是重建的底層數據結構。的SharePoint持久性

的兩兩件事至今我還試過正在對象序列化,並將其保存在session數組英寸看起來應該有更優雅的解決方案。我也嘗試使用自定義屬性,我將Web可瀏覽屬性設置爲false ...雖然我沒有嘗試將它用於自定義類。

哪些是的WebParts數據持久性的優選的方法?

編輯:這裏是什麼,我認爲你的建議的例子。首先,一類

[Serializable] 
    public class foo 
    { 
     public foo() 
     { 

     } 
    } 

然後在我的WebPart,我會像...

public class WebPart : WebControls.WebParts.WebPart 
{ 
    [WebBrowsable(false)] 
    [WebPartStorage(Storage.Personal)] 
    public foo bar { get; set; } 
} 

下一個問題我似乎已經是似乎這些值不如果我改變堅持他們編程式。任何通過屬性面板公開給用戶的內容只有在用戶進行更改時纔會保留。我錯過了什麼嗎?

回答

2

你應該看看:ASP.NET Web Parts OverviewWeb Parts Personalization Overview。我個人通過在我的webpart類的公共屬性上使用WebPartStorage屬性來存儲webparts配置。

默認情況下,會話在SharePoint禁用。如果你打算啓用它,你應該格外小心,包括性能和壓力測試。

+0

好吧我想去自定義屬性路線,但我有一個問題...見上文。 – tbischel 2010-01-14 01:49:13

+0

我通常在工具部分定義簡單的值,如文本和枚舉,所以,我沒有存儲複雜類型的經驗,對不起 – 2010-01-14 10:50:01