Класс SPPersistedObject
Предоставляет методы для объекта, который будет автоматически сериализации ее состояния, сохранение этого состояния в постоянное хранилище, получать его в дальнейшем и десериализации его обратно в объект в памяти.
Иерархия наследования
System.Object
Microsoft.SharePoint.Administration.SPAutoSerializingObject
Microsoft.SharePoint.Administration.SPPersistedObject
Пространство имен: Microsoft.SharePoint.Administration
Сборка: Microsoft.SharePoint (в Microsoft.SharePoint.dll)
Синтаксис
'Декларация
<GuidAttribute("3B60B328-F4D6-4902-BEC6-E904179FA246")> _
<SharePointPermissionAttribute(SecurityAction.LinkDemand, ObjectModel := True)> _
<SharePointPermissionAttribute(SecurityAction.InheritanceDemand, ObjectModel := True)> _
Public Class SPPersistedObject _
Inherits SPAutoSerializingObject _
Implements ICloneable
'Применение
Dim instance As SPPersistedObject
[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 используется для указания поля для сериализации.
<GuidAttribute("3B60B328-F4D6-4902-BEC6-E904179FA246")>
Public Class MyObject
Inherits SPPersistedObject
<Persisted()> _
Private location As String
<Persisted()> _
Private url As String
'The default constructor must be specified for serialization.
Public Sub New()
End Sub 'New
Public Sub New(name As String, parent As SPPersistedObject)
MyBase.New(name, parent)
End Sub 'New
Public Overrides ReadOnly Property DisplayName() As String
Get
Return Me.url
End Get
End Property
Public Property Url() As String
Get
Return Me.url
End Get
Set
If Me.url = value Then
Return
End If
Me.url = value
End Set
End Property
Public Property Location() As String
Get
Return Me.location
End Get
Set
Me.location = value
End Set
End Property
End Class 'MyObject
[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) этого типа являются потокобезопасными. Не гарантируется, что любые элементы экземпляров потокобезопасны.
См. также
Справочные материалы
Пространство имен 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