Sdílet prostřednictvím


ServerDocument.Document-Eigenschaft (2007 System)

Aktualisiert: November 2007

Ruft das Bytearray des Dokuments ab, das in das ServerDocument geladen wird.

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

Syntax

'Declaration
Public ReadOnly Property Document As Byte()
'Usage
Dim instance As ServerDocument
Dim value As Byte()

value = instance.Document
public byte[] Document { get; }

Eigenschaftenwert

Typ: array<System.Byte[]

Das Bytearray eines speicherresidenten Dokuments, das in das ServerDocument geladen wird.

Ausnahmen

Ausnahme Bedingung
DocumentClosedException

Das Dokument wurde geschlossen.

Hinweise

Diese Eigenschaft gibt ein gefülltes Bytearray zurück, falls das ServerDocument mit dem ServerDocument(array<Byte[], String)-Konstruktor erstellt wurde, der einen Bytearrayparameter besitzt, oder mit dem ServerDocument(Stream, String)-Konstruktor, der einen Stream-Parameter besitzt. Andernfalls gibt diese Eigenschaft ein leeres Bytearray zurück.

Mit dieser Eigenschaft können Sie das Dokument ändern und an einen Client senden, ohne es auf die Festplatte zu schreiben.

Beispiele

Im folgenden Codebeispiel wird der ServerDocument(array<Byte[], String)-Konstruktor verwendet, um ein neues ServerDocument aus einem Bytearray zu erstellen, das eine Excel-Arbeitsmappe mit der Dateinamenerweiterung .xlsx enthält. Im Beispiel wird anschließend die Document-Eigenschaft verwendet, um die Anzahl der Bytes im Dokument anzuzeigen.

Für dieses Beispiel ist am Anfang der Codedatei ein Verweis auf die Assemblys Microsoft.VisualStudio.Tools.Applications.ServerDocument.v9.0.dll und Microsoft.VisualStudio.Tools.Applications.Runtime.v9.0.dll sowie auf die Anweisung Imports (für Visual Basic) oder using (für C#) für die Namespaces Microsoft.VisualStudio.Tools.Applications und Microsoft.VisualStudio.Tools.Applications.Runtime erforderlich.

Private Sub CreateServerDocumentFromByteArray(ByVal documentPath As String)
    Dim runtimeVersion As Integer = 0
    Dim serverDocument1 As ServerDocument = Nothing
    Dim stream As System.IO.FileStream = Nothing

    Try
        runtimeVersion = ServerDocument.GetCustomizationVersion(documentPath)
        If runtimeVersion = 3 Then
            ' Read the file into a byte array.
            stream = New System.IO.FileStream(documentPath, System.IO.FileMode.Open, _
                System.IO.FileAccess.Read)
            Dim buffer(Fix(stream.Length)) As Byte
            stream.Read(buffer, 0, Fix(buffer.Length))

            ' Display the number of bytes in the document.
            serverDocument1 = New ServerDocument(buffer, "*.xlsx")
            MessageBox.Show("The Document property contains " & _
                serverDocument1.Document.Length.ToString() & " bytes.")
        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
        If Not (stream Is Nothing) Then
            stream.Close()
        End If
    End Try
End Sub
private void CreateServerDocumentFromByteArray(string documentPath)
{
    int runtimeVersion = 0;
    ServerDocument serverDocument1 = null;
    System.IO.FileStream stream = null;

    try
    {
        runtimeVersion = ServerDocument.GetCustomizationVersion(documentPath);
        if (runtimeVersion == 3)
        {
            // Read the file into a byte array.
            stream = new System.IO.FileStream(
                documentPath, System.IO.FileMode.Open,
                System.IO.FileAccess.Read);
            byte[] buffer = new byte[(int)stream.Length];
            stream.Read(buffer, 0, (int)buffer.Length);

            // Display the number of bytes in the document.
            serverDocument1 = new ServerDocument(buffer,
                "*.xlsx");
            MessageBox.Show("The Document property contains " +
                serverDocument1.Document.Length.ToString() +
                " bytes.");
        }
    }
    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();
        if (stream != null)
            stream.Close();
    }
}

Berechtigungen

Siehe auch

Referenz

ServerDocument-Klasse

ServerDocument-Member

Microsoft.VisualStudio.Tools.Applications-Namespace