Partager via


SPPersistedObject - Classe

Fournit les méthodes d'un objet à sérialiser son état, conserver cet état dans une banque permanente, le récupérer ultérieurement et désérialiser automatiquement dans un objet en mémoire.

Hiérarchie d’héritage

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

Espace de noms :  Microsoft.SharePoint.Administration
Assembly :  Microsoft.SharePoint (dans Microsoft.SharePoint.dll)

Syntaxe

'Déclaration
<GuidAttribute("3B60B328-F4D6-4902-BEC6-E904179FA246")> _
<SharePointPermissionAttribute(SecurityAction.LinkDemand, ObjectModel := True)> _
<SharePointPermissionAttribute(SecurityAction.InheritanceDemand, ObjectModel := True)> _
Public Class SPPersistedObject _
    Inherits SPAutoSerializingObject _
    Implements ICloneable
'Utilisation
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

Remarques

La classe SPPersistedObject fournit une classe de base pour tous les objets d'administration. Il sérialise tous les champs marqués avec l'attribut Persisted au format XML et écrit le blob XML dans la base de données de configuration. La classe SPPersistedObject contient le code permettant de sérialiser tous ses membres sont des types de base, d'autres objets persistants et de collections d'objets persistants. Les données de configuration sont stockées dans des objets rendus persistants sont rendues automatiquement disponibles à tous les processus sur chaque serveur de la batterie de serveurs.

Lorsque vous créez un objet persistant personnalisé, vous devez spécifier le constructeur par défaut pour la sérialisation.

Pour renvoyer un objet persistant existant, utilisez la méthode GetObject de la classe SPFarm , ou de la méthode GetChild de la classe SPPersistedObject .

Exemples

L'exemple suivant illustre une classe personnalisée qui hérite de la classe SPPersistedObject dans lequel l'attribut Peristed est utilisé pour spécifier des champs pour la sérialisation.

<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; }
   }
}

Après avoir créé un objet persistant MyObject comme dans l'exemple, vous pouvez le retourner à l'aide deGUIDde SPFarm.Local.GetObject().

Cohérence de thread

Tous les membres statique (Partagé dans Visual Basic)s publics de ce type sont thread-safe. Cela n’est pas garanti pour les membres d’instance.

Voir aussi

Référence

SPPersistedObject - Membres

Microsoft.SharePoint.Administration - Espace de noms

Hiérarchie d’héritage

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