Freigeben über


IBackupRestore-Schnittstelle

Ermöglicht den Inhalt, den eine Klasse darstellt, die gesichert werden und wiederhergestellt.

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

Syntax

'Declaration
<SharePointPermissionAttribute(SecurityAction.InheritanceDemand, ObjectModel := True)> _
<SharePointPermissionAttribute(SecurityAction.LinkDemand, ObjectModel := True)> _
Public Interface IBackupRestore
'Usage
Dim instance As IBackupRestore
[SharePointPermissionAttribute(SecurityAction.InheritanceDemand, ObjectModel = true)]
[SharePointPermissionAttribute(SecurityAction.LinkDemand, ObjectModel = true)]
public interface IBackupRestore

Hinweise

Durch die Implementierung dieser Schnittstelle wird ein Objekt, das Teil des Inhalts in einer Bereitstellung SharePoint Foundation darstellt etwas, die gesichert und wiederhergestellt werden können.

Mitglieder der IBackupRestore wird nicht direkt vom Code aufgerufen werden. Nachdem Sie es implementiert haben, wird Ihr Code Objekte der benutzerdefinierten IBackupRestore Klassen erstellen und fügen sie auf die Konfigurationsdatenbank mit der Update() -Methode. Sicherung und Wiederherstellung-Anwendungen wie die Zentraladministrationsanwendung SharePoint Foundation , die Konsolenanwendung stsadm.exe und ein SharePoint-Verwaltungsshell -Cmdlet werden interne Anrufe an die Mitglieder Ihrer IBackupRestore Objekte stellen, sobald sie gesichert und wiederhergestellt werden. Weitere Informationen darüber, wie IBackupRestore -Objekte verwendet werden finden Sie unter How to: Create a Content Class That Can be Backed Up and Restored.

Sie können beliebig viele Arten erstellen IBackupRestore Klassen und sollen, wenn Sie möchten, können sie eine Struktur mit Komponentenklassen geschachtelt werden. Aber die höchste-Klasse in eine solche Struktur muss (direkt oder indirekt) von der SPPersistedObject -Klasse abgeleitet und muss ein untergeordnetes Element des SPFarm . Wenn Ihre Inhaltsklasse nicht um ein untergeordnetes Element des alle anderen benutzerdefinierten Inhaltsklasse, ist es muss (direkt oder indirekt) von SPPersistedObject -Objekt abgeleitet und muss ein untergeordnetes Element des SPFarm .

Wenn Ihre Klasse abgeleitet wird von einer Klasse, die bereits die IBackupRestore -Schnittstelle implementiert wird, und Sie eine geerbte Implementierung eines Members IBackupRestore ersetzen möchten, sollte der Klassendeklaration explizit verweisen auf IBackupRestore wie folgt:

public class MyClass : SPPersistedObject, IBackupRestore
Public Class [MyClass]
    Inherits SPPersistedObject
    Implements IBackupRestore
End Class

Die Außerkraftsetzung eines IBackupRestore-Members sollte explizit "IBackupRestore" im Membernamen enthalten und sollte nicht das public-Schlüsselwort enthalten. Der folgende Code ist ein Beispiel dafür.

String IBackupRestore.Name { ... }
Private Property Name() As String Implements IBackupRestore.Name
... 
End Property

Alternativ können Sie, wenn für die Implementierung des Members in der übergeordneten Klasse die Schlüsselwörter virtual oder override verwendet wurden, wie hier gezeigt in der Implementierung das override-Schlüsselwort verwenden:

public override String Name { ... }
Public Overrides Property Name() As String
... 
End Property

Führen Sie nicht Ausblenden der Implementierung geerbte Member durch eine erneute Deklaration des Members mit oder ohne das Schlüsselwort new ([new] public String Name { ... }).

Wenn die Klasse von SPPersistedObjectabgeleitet wird, muss die Deklaration von Feldern, die in der Konfigurationsdatenbank beibehalten werden sollen mit dem Attribut [Persisted] vorangestellt werden. Sie können jedoch die folgenden Typen von Feldern auf diese Weise nur markieren: Grundtypen wie Zeichenfolgen, ganze Zahlen und GUIDs; andere SPPersistedObject -Objekte oder SPAutoserializingObject Objekte; oder eines der oben genannten Auflistungen. Beispielsweise kann nicht die Klasse ein FileInfo Feld mit dem [Persisted] -Attribut markiert haben. Wenn die Daten beibehalten möchten keiner Klasse dauerhaft ist, verwenden Sie die dauerhaften Ersatz. Die Beispielimplementierung im Referenzthema für die Eigenschaft DiskSizeRequired sieht hier eine Klasse, die weiterhin einer Auflistung von Dateinamen und nutzt sie dazu um eine temporäre Auflistung von FileInfo -Objekten zur Laufzeit zu erstellen.

Wenn Ihre Klasse mehrere untergeordnete Elemente des gleichen Typs kann, erstellen Sie eine Eigenschaft oder ein Feld eines Auflistungstyps oder andere aufzählbare Typen, um eine Auflistung aller untergeordneten Elemente eines bestimmten Typs enthalten. Dies ist besonders wichtig, wenn der Typ der untergeordneten selbst IBackupRestore, implementiert, da die Implementierung der AddBackupObjects() -Methode sollte solche untergeordnete Elemente durchlaufen und die AddBackupObjects() -Methode jedes untergeordnete Element aufzurufen.

Es gibt im Wesentlichen eine 1: 1-Zuordnung zwischen Objekte vom Typ SPBackupRestoreInformation und Objekte vom Typ IBackupRestore. Jedes bietet einen Teil der Informationen zum Verarbeiten von einer Sicherung oder Wiederherstellung eines bestimmten Typs Inhaltskomponente erforderlich sind. Objekte der beiden folgenden Typen werden jeweils in den Eigenschaften Information und IBackupRestore eines SPBackupRestoreObject -Objekts verwiesen. Die letztere Klasse, fungiert als Container für die korrelierte SPBackupRestoreInformation und IBackupRestore -Objekte, nicht nur bietet Hilfsfunktionen für SPBackupRestoreConsoleObject -Objekte.

Hinweis

Wenn die Komponentenklasse Konfigurationseinstellungen farmweite Umfang oder Content Publishing-Webdienst-Bereich im Unterschied zu Inhalten, stellt sollte es auch IBackupRestoreConfiguration implementieren, die IBackupRestoreenthält.

Siehe auch

Referenz

IBackupRestore-Member

Microsoft.SharePoint.Administration.Backup-Namespace