Это возможно. Объекты SPWebApplication
и SPWeb
имеют так называемую «сумку свойств». Это свойство мешок доступно через Properties
и AllProperties
соответственно в указанных объектах. SPWebApplication
- это SPPersistedObject
, от которого он наследует пакет свойств.
Вы можете хранить значения в этом наборе свойств через код (и через SharePoint Designer для объекта SPWeb). Пакет свойств должен быть доступен только системной учетной записи, поэтому любой код доступа к пакету свойств должен быть окружен блоком 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. Как видите, я обновляю оба пакета свойств, вы можете прочитать, почему в этой более углубленной статье о пакете свойств здесь .
приписка
Я упомяну только SPWebApplication
и здесь для полноты, вам следует придерживаться SPWeb. Обычно я храню значения в одном месте, и это RootWeb текущего SPSite.