Класс SPPersistedObject

Предоставляет методы для объекта, который будет автоматически сериализации ее состояния, сохранение этого состояния в постоянное хранилище, получать его в дальнейшем и десериализации его обратно в объект в памяти.

Иерархия наследования

System.Object
  Microsoft.SharePoint.Administration.SPAutoSerializingObject
    Microsoft.SharePoint.Administration.SPPersistedObject
      

Пространство имен:  Microsoft.SharePoint.Administration
Сборка:  Microsoft.SharePoint (в Microsoft.SharePoint.dll)

Синтаксис

C#
[GuidAttribute("3B60B328-F4D6-4902-BEC6-E904179FA246")]
[SharePointPermissionAttribute(SecurityAction.LinkDemand, ObjectModel = true)]
[SharePointPermissionAttribute(SecurityAction.InheritanceDemand, ObjectModel = true)]
public class SPPersistedObject : SPAutoSerializingObject, 
    ICloneable

Замечания

Класс SPPersistedObject предоставляет базовый класс для всех объектов администрирования. Сериализации всех полей с атрибутом Persisted в формат XML и записывает XML больших двоичных объектов для базы данных конфигурации. Класс SPPersistedObject содержит код для сериализации все элементы, которые являются базовых типов, других объектов и коллекций объектов. Данные конфигурации, которые хранятся в сохраненные объекты автоматически делаются доступными для всех процессов на каждом сервере в ферме.

При создании настраиваемых постоянно существующий объект необходимо указать конструктор по умолчанию для сериализации.

Чтобы вернуть постоянных существующий объект, используйте метод GetObject класса SPFarm или метод GetChild класса SPPersistedObject .

Примеры

Следующий пример иллюстрирует настраиваемого класса, наследуемого от класса SPPersistedObject , где атрибут Peristed используется для указания поля для сериализации.

C#
[GuidAttribute("3B60B328-F4D6-4902-BEC6-E904179FA246")]
public class MyObject : SPPersistedObject
{
   [Persisted]
   private string location;

   [Persisted]
   private string url;

   /*The default constructor must be specified for serialization.*/
   public MyObject()
   {
   }
   public MyObject(string name, SPPersistedObject parent)
      : base(name, parent)
   {
      ;
   }

   public override string DisplayName
   {
      get
      {
         return this.url;
      }
   }

   public string Url
   {
      get { return this.url; }
      set 
      {
         if (this.url == value)
         {
            return;
          }

          this.url = value;
      }
   }

   public string Location
   {
      get { return this.location; }
      set { this.location = value; }
   }
}

После создания объекта постоянных MyObject, как показано в примере с помощьюGUIDSPFarm.Local.GetObject()можно вернуть его.

Потокобезопасность

Любые общедоступные элементы static (Shared в Visual Basic) этого типа являются потокобезопасными. Не гарантируется, что любые элементы экземпляров потокобезопасны.

См. также

Справочные материалы

Элементы SPPersistedObject

Пространство имен Microsoft.SharePoint.Administration

Иерархия наследования

System.Object
  Microsoft.SharePoint.Administration.SPAutoSerializingObject
    Microsoft.SharePoint.Administration.SPPersistedObject
      Microsoft.SharePoint.Administration.AppDeployment.DatabaseProviderTypePersistedObject
      Microsoft.SharePoint.Administration.AppDeployment.WorkflowAppPartTypePersistedObject
      Microsoft.SharePoint.Administration.AppDeployment.WorkflowDeploymentGroupTypePersistedObject
      Microsoft.SharePoint.Administration.Backup.SPBackupRestoreConfigurationSettings
      Microsoft.SharePoint.Administration.Backup.SPVssDiscoveryHelper
      Microsoft.SharePoint.Administration.Claims.SPClaimProviderManager
      Microsoft.SharePoint.Administration.Claims.SPIdentityClaimMapperManager
      Microsoft.SharePoint.Administration.Claims.SPSecurityTokenServiceManager
      Microsoft.SharePoint.Administration.Claims.SPTrustedProviderBase
      Microsoft.SharePoint.Administration.SPAlternateUrlCollection
      Microsoft.SharePoint.Administration.SPDeveloperDashboardSettings
      Microsoft.SharePoint.Administration.SPDocumentConverter
      Microsoft.SharePoint.Administration.SPEncryptedString
      Microsoft.SharePoint.Administration.SPFarmConfigurationWizardSettings
      Microsoft.SharePoint.Administration.SPFeatureDefinition
      Microsoft.SharePoint.Administration.SPHealthReportStore
      Microsoft.SharePoint.Administration.SPIisWebServiceApplicationPool
      Microsoft.SharePoint.Administration.SPIisWebServiceEndpoint
      Microsoft.SharePoint.Administration.SPJobDefinition
      Microsoft.SharePoint.Administration.SPManagedAccount
      Microsoft.SharePoint.Administration.SPMigratableSiteCollection
      Microsoft.SharePoint.Administration.SPPersistedCustomWebTemplate
      Microsoft.SharePoint.Administration.SPPersistedFile
      Microsoft.SharePoint.Administration.SPPersistedUpgradableObject
      Microsoft.SharePoint.Administration.SPProcessIdentity
      Microsoft.SharePoint.Administration.SPRequestManagementRuleCollection<T>
      Microsoft.SharePoint.Administration.SPRequestManagementSettings
      Microsoft.SharePoint.Administration.SPResourceMeasure
      Microsoft.SharePoint.Administration.SPRoutingMachineInfo
      Microsoft.SharePoint.Administration.SPRoutingMachinePool
      Microsoft.SharePoint.Administration.SPSiteUpgradeThrottleSettings
      Microsoft.SharePoint.Administration.SPSolution
      Microsoft.SharePoint.Administration.SPSolutionLanguagePack
      Microsoft.SharePoint.Administration.SPUsageDefinition
      Microsoft.SharePoint.Administration.SPUsageIdentityTable
      Microsoft.SharePoint.Administration.SPUsageManager
      Microsoft.SharePoint.Administration.SPUsageReceiverDefinition
      Microsoft.SharePoint.Administration.SPUsageSettings
      Microsoft.SharePoint.Administration.SPUserCodeProvider
      Microsoft.SharePoint.Administration.SPUserSettingsProviderManager
      Microsoft.SharePoint.ApplicationServices.SPAuthenticationPipelineClaimMapping
      Microsoft.SharePoint.DistributedCaching.Utilities.SPDistributedCacheClusterInfo
      Microsoft.SharePoint.DistributedCaching.Utilities.SPDistributedCacheClusterInfoManager
      Microsoft.SharePoint.DistributedCaching.Utilities.SPDistributedCacheHostInfo
      Microsoft.SharePoint.Upgrade.SPUpgradeSession