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

Miembros SPPersistedObject

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