ServerDocument-Klasse

Bietet Zugriff auf die zwischengespeicherten Daten und Anpassungsinformationen in einem Dokument oder in einer Arbeitsmappe, das bzw. die Teil einer Anpassung auf Dokumentebene ist, die mit den Office-Entwicklungstools in Visual Studio erstellt wurde.

Vererbungshierarchie

System.Object
  Microsoft.VisualStudio.Tools.Applications.ServerDocument

Namespace:  Microsoft.VisualStudio.Tools.Applications
Assembly:  Microsoft.VisualStudio.Tools.Applications.ServerDocument (in Microsoft.VisualStudio.Tools.Applications.ServerDocument.dll)

Syntax

'Declaration
<PermissionSetAttribute(SecurityAction.Demand, Name := "FullTrust")> _
Public NotInheritable Class ServerDocument _
    Implements IDisposable
[PermissionSetAttribute(SecurityAction.Demand, Name = "FullTrust")]
public sealed class ServerDocument : IDisposable

Der ServerDocument-Typ macht die folgenden Member verfügbar.

Konstruktoren

  Name Beschreibung
Öffentliche Methode ServerDocument(String) Initialisiert eine neue Instanz der ServerDocument-Klasse und verwendet dabei den vollständigen Pfad zu dem Dokument, das geladen werden soll.
Öffentliche Methode ServerDocument(array<Byte[], String) Initialisiert eine neue Instanz der ServerDocument-Klasse und verwendet dabei ein Bytearray, welches das zu ladende Dokument darstellt, sowie die Dateinamenerweiterung des Dokuments.
Öffentliche Methode ServerDocument(Stream, String) Initialisiert eine neue Instanz der ServerDocument-Klasse und verwendet dabei einen Stream, der das zu ladende Dokument darstellt, sowie die Dateinamenerweiterung des Dokuments.
Öffentliche Methode ServerDocument(String, FileAccess) Initialisiert eine neue Instanz der ServerDocument-Klasse und verwendet dabei den vollständigen Pfad zu dem Dokument, das geladen werden soll, sowie einen Wert, der den Dateizugriff für das Dokument angibt.

Zum Seitenanfang

Eigenschaften

  Name Beschreibung
Öffentliche Eigenschaft CachedData Ruft ein CachedData-Objekt ab, das die im Dokument enthaltenen zwischengespeicherten Daten darstellt.
Öffentliche Eigenschaft DeploymentManifestUrl Ruft die URL des Bereitstellungsmanifests für die Anpassung, die dem Dokument zugeordnet ist, ab oder legt diese fest.
Öffentliche Eigenschaft Document Ruft das Bytearray des Dokuments ab, das in das ServerDocument geladen wird.
Öffentliche Eigenschaft SolutionId Ruft eine GUID ab, die Visual Studio Tools for Office-Laufzeit zum Identifizieren der Projektmappe verwendet.

Zum Seitenanfang

Methoden

  Name Beschreibung
Öffentliche MethodeStatischer Member AddCustomization(String, Uri) Fügt mithilfe des angegebenen Assemblynamens und Bereitstellungsmanifests eine Anpassung an das angegebene Dokument an.
Öffentliche MethodeStatischer Member AddCustomization(String, String, Guid, Uri) Fügt mithilfe von Assemblynamen, Projektmappen-ID und Bereitsstellungsmanifest eine Anpassung an das angegebene Dokument an.
Öffentliche MethodeStatischer Member AddCustomization(String, String, Guid, Uri, Boolean, array<String[]%) Infrastruktur.
Öffentliche Methode Close Schließt das ServerDocument-Objekt.
Öffentliche Methode Equals Bestimmt, ob das angegebene Object und das aktuelle Object gleich sind. (Von Object geerbt.)
Geschützte Methode Finalize Gibt einem Objekt Gelegenheit zu dem Versuch, Ressourcen freizugeben und andere Bereinigungen durchzuführen, bevor es von der Garbage Collection freigegeben wird. (Von Object geerbt.)
Öffentliche MethodeStatischer Member GetCustomizationVersion Gibt die Version von Visual Studio Tools for Office-Laufzeit zurück, die zum Erstellen der Anpassung verwendet wurde, die dem angegebenen Dokument zugeordnet ist.
Öffentliche Methode GetHashCode Fungiert als Hashfunktion für einen bestimmten Typ. (Von Object geerbt.)
Öffentliche Methode GetType Ruft den Type der aktuellen Instanz ab. (Von Object geerbt.)
Öffentliche MethodeStatischer Member IsCacheEnabled Ruft einen Wert ab, der angibt, ob das angegebene Dokument einen Datencache besitzt.
Öffentliche MethodeStatischer Member IsCustomized Ruft einen Wert ab, der angibt, ob das angegebene Dokument über eine Anpassung verfügt, die mit Visual Studio 2010-Tools for Office-Laufzeit erstellt wurde.
Geschützte Methode MemberwiseClone Erstellt eine flache Kopie des aktuellen Object. (Von Object geerbt.)
Öffentliche MethodeStatischer Member RemoveCustomization Entfernt die Anpassung aus dem Dokument.
Öffentliche Methode Save Speichert alle Änderungen, die am Dokument mithilfe der ServerDocument-Klasse vorgenommen wurden.
Öffentliche Methode ToString Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Von Object geerbt.)

Zum Seitenanfang

Explizite Schnittstellenimplementierungen

  Name Beschreibung
Explizite SchnittstellenimplementierungPrivate Methode IDisposable.Dispose Gibt alle vom ServerDocument verwendeten Ressourcen frei.

Zum Seitenanfang

Hinweise

Mit der ServerDocument-Klasse können Sie bestimmte Aspekte von Anpassungen auf Dokumentebene auf einem Computer verwalten, selbst wenn Excel oder Word nicht installiert sind. Diese Klasse wird üblicherweise in Anwendungen verwendet, die nicht in Office integriert sind, z. B. Konsolenprojekte oder Windows Forms-Projekte, im Gegensatz zu Office-Projekten.

Mit den folgenden Membern der ServerDocument-Klasse können Sie allgemeine Aufgaben ausführen:

  • Um auf Daten im Datencache eines Dokuments auf einem Server zuzugreifen und diese zu ändern, verwenden Sie die CachedData-Eigenschaft.

  • Um eine Anpassung programmgesteuert an ein Dokument anzufügen oder eine Anpassung aus einem Dokument zu entfernen, verwenden Sie die Methoden AddCustomization und RemoveCustomization.

  • Um auf die URL des Bereitstellungsmanifests, das dem Dokument zugeordnet ist, zuzugreifen oder sie zu ändern, verwenden Sie die DeploymentManifestUrl-Eigenschaft.

Es gibt zwei verschiedene Versionen der ServerDocument-Klasse in der Visual Studio 2010-Tools for Office-Laufzeit. Die Version, die Sie verwenden sollten, hängt vom .NET Framework-Ziel der Anwendung ab, in der die Klasse verwendet werden soll:

  • Verwenden Sie für Anwendungen, die auf .NET Framework 4 ausgerichtet sind, die Microsoft.VisualStudio.Tools.Applications.ServerDocument-Klasse in der Assembly Microsoft.VisualStudio.Tools.Applications.ServerDocument.dll.

  • Verwenden Sie für Anwendungen, die auf .NET Framework 3.5 ausgerichtet sind, die Microsoft.VisualStudio.Tools.Applications.ServerDocument-Klasse in der Assembly Microsoft.VisualStudio.Tools.Applications.ServerDocument.v10.0.dll.

Weitere Informationen finden Sie unter Verwalten von Dokumenten auf einem Server mit der ServerDocument-Klasse.

Auswählen des zu verwendenden Konstruktors

Um mit der ServerDocument-Klasse auf die zwischengespeicherten Daten oder die Bereitstellungsmanifest-URL in einem Dokument zuzugreifen, müssen Sie ein ServerDocument-Objekt erstellen.

Es gibt zwei Sätze von ServerDocument-Konstruktoren:

  • Ein Satz, mit dem Sie auf ein Dokument zugreifen können, das bereits im Arbeitsspeicher geöffnet wurde.

  • Ein Satz, mit dem Sie auf ein Dokument zugreifen können, das sich auf einem Datenträger befindet.

Zugreifen auf ein Dokument im Arbeitsspeicher

Um auf ein Dokument zuzugreifen, das bereits im Arbeitsspeicher geöffnet wurde, verwenden Sie einen der folgenden Konstruktoren:

Diese Konstruktoren akzeptieren ein Bytearray oder einen Stream, der das Dokument im Arbeitsspeicher darstellt. Dies ist hilfreich, wenn Sie die zwischengespeicherten Daten oder das Anwendungsmanifest im Dokument ändern möchten, bevor Sie sie bzw. es mithilfe des HTTP-Protokolls an ein Ziel streamen. Zum Verwenden dieser Konstruktoren muss das Dokument bereits über eine Anpassung verfügen. Andernfalls lösen diese Konstruktoren eine CannotLoadManifestException-Ausnahme aus.

Zugreifen auf ein Dokument, das sich auf einem Datenträger befindet

Um auf ein Dokument zuzugreifen, das sich auf einem Datenträger befindet, verwenden Sie einen der folgenden Konstruktoren:

Diese Konstruktoren akzeptieren den vollständigen Pfad des Dokuments, das Sie öffnen möchten. Standardmäßig wird das Dokument mit Lese-/Schreibzugriff geöffnet. Wenn Sie das Dokument nur mit Lesezugriff bzw. nur mit Schreibzugriff öffnen möchten, verwenden Sie den Konstruktor, der über einen FileAccess-Parameter verfügt.

Beispiele

Im folgenden Codebeispiel wird ein neues ServerDocument erstellt, das ein angegebenes Dokument lädt. Dann wird die URL des Bereitstellungsmanifests für die Anpassung angezeigt, die an das Dokument angefügt ist.

Für dieses Beispiel sind erforderlich:

  • Ein Konsolenanwendungsprojekt oder ein anderes Nicht-Office-Projekt.

  • Verweise auf die folgenden Assemblys:

    • Microsoft.VisualStudio.Tools.Applications.ServerDocument.dll und Microsoft.VisualStudio.Tools.Applications.Runtime.dll (wenn das Projekt auf .NET Framework 4 abzielt)

      oder

    • Microsoft.VisualStudio.Tools.Applications.ServerDocument.v10.0.dll und Microsoft.VisualStudio.Tools.Applications.Runtime.v9.0.dll (wenn das Projekt auf .NET Framework 3.5 abzielt).

  • Imports-Anweisungen (für Visual Basic) oder using-Anweisungen (für C#) für Microsoft.VisualStudio.Tools.Applications- und Microsoft.VisualStudio.Tools.Applications.Runtime-Namespaces am Anfang der Codedatei.

Private Sub CreateServerDocumentFromPath(ByVal documentPath As String)
    Dim runtimeVersion As Integer = 0
    Dim serverDocument1 As ServerDocument = Nothing

    Try
        runtimeVersion = ServerDocument.GetCustomizationVersion(documentPath)
        If runtimeVersion = 3 Then
            serverDocument1 = New ServerDocument(documentPath)
            MessageBox.Show("The URL of the deployment manifest is: " & vbLf & _
                serverDocument1.DeploymentManifestUrl.ToString())
        End If

    Catch ex As System.IO.FileNotFoundException
        System.Windows.Forms.MessageBox.Show("The specified document does not exist.")
    Catch ex As UnknownCustomizationFileException
        System.Windows.Forms.MessageBox.Show("The specified document has a file " & _
            "extension that is not supported by Visual Studio Tools for Office.")
    Finally
        If Not (serverDocument1 Is Nothing) Then
            serverDocument1.Close()
        End If
    End Try
End Sub
private void CreateServerDocumentFromPath(string documentPath)
{
    int runtimeVersion = 0;
    ServerDocument serverDocument1 = null;

    try
    {
        runtimeVersion = ServerDocument.GetCustomizationVersion(documentPath);
        if (runtimeVersion == 3)
        {
            serverDocument1 = new ServerDocument(documentPath);
            MessageBox.Show("The URL of the deployment manifest is: \n" +
                serverDocument1.DeploymentManifestUrl.ToString());
        }
    }
    catch (System.IO.FileNotFoundException)
    {
        System.Windows.Forms.MessageBox.Show("The specified document does not exist.");
    }
    catch (UnknownCustomizationFileException)
    {
        System.Windows.Forms.MessageBox.Show("The specified document has a file " +
            "extension that is not supported by Visual Studio Tools for Office.");
    }
    finally
    {
        if (serverDocument1 != null)
            serverDocument1.Close();
    }
}

Threadsicherheit

Alle öffentlichen static (Shared in Visual Basic)-Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

Siehe auch

Referenz

Microsoft.VisualStudio.Tools.Applications-Namespace

Weitere Ressourcen

Verwalten von Dokumenten auf einem Server mit der ServerDocument-Klasse

Anwendungs- und Bereitstellungsmanifeste in Office-Projektmappen

Zugreifen auf Daten in Dokumenten auf dem Server

Gewusst wie: Einfügen von Daten in eine Arbeitsmappe auf einem Server

Gewusst wie: Abrufen von zwischengespeicherten Daten aus einer Arbeitsmappe auf einem Server

Gewusst wie: Ändern zwischengespeicherter Daten in einer Arbeitsmappe auf einem Server