Share via


SPPersistedObject class

提供自動序列化其狀態、 保存永久存放區中的狀態,擷取一次更新,並將它還原序列化的物件的方法回至在記憶體中的物件。

Inheritance hierarchy

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

Namespace:  Microsoft.SharePoint.Administration
Assembly:  Microsoft.SharePoint (in Microsoft.SharePoint.dll)

Syntax

'宣告
<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類別會提供基底類別的所有管理物件。它序列化有 to XML Persisted屬性所標示的所有欄位,並將 XML blob 寫入設定資料庫。SPPersistedObject類別包含序列化所有基底類型、 其他保存的物件及保存物件的集合及其成員的程式碼。在伺服器陣列中每部伺服器上設定資料儲存在保存物件會自動進行適用於每個程序。

當您建立自訂的持續性的物件時,您必須指定序列化的預設建構函式。

若要傳回現有的持續性的物件,請使用GetObjectSPFarm類別方法或SPPersistedObject類別之GetChild方法。

Examples

下列範例說明繼承Peristed屬性來指定欄位的序列化SPPersistedObject類別的自訂類別。

<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 保存的物件之後,您可以使用SPFarm.Local.GetObject(GUID)來傳回。

Thread safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

請參閱

參照

SPPersistedObject members

Microsoft.SharePoint.Administration namespace

Inheritance hierarchy

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