這是可能的。 SPWebApplication
和SPWeb
對象都有一個所謂的「物業包」。該物業包可分別通過Properties
和AllProperties
訪問提到的對象。 SPWebApplication
是一個SPPersistedObject
,它從中繼承屬性包。
您可以通過代碼(並通過SPWeb對象的SharePoint Designer)將值存儲在此屬性包中。屬性包只應被系統帳戶入店,所以訪問屬性包的任何代碼應該由SPSecurity.RunWithElevatedPrivileges
塊包圍:
SPSecurity.RunWithElevatedPrivileges(delegate {
// value can be any object,
// but I recommend sticking to primitive types like string, int etc. only
SPContext.Current.Site.RootWeb.Properties[key] = value;
SPContext.Current.Site.RootWeb.AllProperties[key] = value;
SPContext.Current.Site.RootWeb.Update();
SPContext.Current.Site.RootWeb.Properties.Update();
});
的SPWeb對象既有aProperties和AllProperties屬性。正如你所看到的,我更新了兩個物業包,你可以閱讀爲什麼在這個更深入的文章關於物業包here。
P.S.
我只在這裏提到SPWebApplication
爲了完整性,您應該堅持使用SPWeb。我通常將價值存儲在一個地方,這就是目前SPSite的RootWeb。
這不可能嗎? – Modika 2010-01-14 17:42:03