Clase SPPersistedObject
Proporciona los métodos para un objeto que se va a serializar su estado, conservar ese estado en un almacén permanente, recuperarla más tarde y deshacer la serialización automáticamente en un objeto en memoria.
Jerarquía de la herencia
System.Object
Microsoft.SharePoint.Administration.SPAutoSerializingObject
Microsoft.SharePoint.Administration.SPPersistedObject
Espacio de nombres: Microsoft.SharePoint.Administration
Ensamblado: Microsoft.SharePoint (en Microsoft.SharePoint.dll)
Sintaxis
'Declaración
<GuidAttribute("3B60B328-F4D6-4902-BEC6-E904179FA246")> _
<SharePointPermissionAttribute(SecurityAction.LinkDemand, ObjectModel := True)> _
<SharePointPermissionAttribute(SecurityAction.InheritanceDemand, ObjectModel := True)> _
Public Class SPPersistedObject _
Inherits SPAutoSerializingObject _
Implements ICloneable
'Uso
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
Comentarios
La clase SPPersistedObject proporciona una clase base para todos los objetos de administración. Serializa todos los campos marcados con el atributo Persisted a XML y escribe el blob de XML en la base de datos de configuración. La clase SPPersistedObject contiene código para serializar a todos sus miembros son tipos base, otros objetos persistentes y colecciones de objetos persistentes. Datos de configuración que se almacenan en objetos persistentes automáticamente estará disponibles para todos los procesos en todos los servidores de la granja de servidores.
Cuando se crea un objeto persistente personalizado debe especificar el constructor predeterminado para la serialización.
Para devolver un objeto persistente existente, utilice el método GetObject de la clase SPFarm , o el método GetChild de la clase SPPersistedObject .
Ejemplos
El ejemplo siguiente ilustra una clase personalizada que hereda de la clase SPPersistedObject donde el atributo Peristed se usa para especificar los campos para la serialización.
<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; }
}
}
Después de crear un objeto persistente de MyObject como en el ejemplo, se puede devolver mediante el uso de SPFarm.Local.GetObject(GUID).
Seguridad para subprocesos
Los miembros static (Shared en Visual Basic) públicos de este tipo son seguros para subprocesos. No se garantiza que los miembros de instancias sean seguros para los subprocesos.
Vea también
Referencia
Espacio de nombres Microsoft.SharePoint.Administration
Jerarquía de la herencia
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