ServerDocument-Konstruktor (array<Byte[], String) (2007 System)
Aktualisiert: November 2007
Initialisiert eine neue Instanz der ServerDocument-Klasse und verwendet dabei ein Bytearray, welches das zu ladende Dokument darstellt, sowie die Dateinamenerweiterung des Dokuments.
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 Sub New ( _
bytes As Byte(), _
fileType As String _
)
'Usage
Dim bytes As Byte()
Dim fileType As String
Dim instance As New ServerDocument(bytes, fileType)
public ServerDocument(
byte[] bytes,
string fileType
)
Parameter
bytes
Typ: array<System.Byte[]Ein Bytearray, welches das Dokument darstellt, das geladen werden soll.
fileType
Typ: System.StringDie Dateinamenerweiterung des Dokuments, die im bytes-Parameter gespeichert ist und der ein Punkt (.) vorangestellt wird, z. B. ".xlsx" oder ".docx".
Ausnahmen
Ausnahme | Bedingung |
---|---|
ArgumentNullException | Der bytes-Parameter ist nullNULL-Verweis (Nothing in Visual Basic) oder leer. - oder - Der fileType-Parameter ist entweder nullNULL-Verweis (Nothing in Visual Basic) oder leer, oder er besteht nur aus Leerzeichen. |
UnknownCustomizationFileException | Der fileType-Parameter gibt eine Dateinamenerweiterung an, die nicht von Visual Studio Tools for Office unterstützt wird. |
DocumentCustomizedWithPreviousRuntimeException | Die in documentPath angegebene Datei verfügt über eine Anpassung, die mit einer früheren Version der Visual Studio Tools for Office-Laufzeit erstellt wurde. |
Hinweise
Verwenden Sie diesen Konstruktor, um auf die zwischengespeicherten Daten oder die Informationen zum Bereitstellungsmanifest in einem Dokument zuzugreifen, das bereits im Arbeitsspeicher vorhanden ist. Wenn Sie diesen Konstruktor verwenden, wird das Dokument mit Lese-/Schreibzugriff geöffnet.
Der fileType-Parameter wird nur zum Bestimmen des im Bytearray gespeicherten Dokumenttyps verwendet. Der Wert von fileType wird einem der Dateitypen zugeordnet, die für Anpassungen auf Dokumentebene unterstützt werden. Es wird nicht versucht, die Datei zu öffnen. Sie können optional einen vollständigen Namen übergeben (z. B. "Workbook1.xlsx"), aber dann wird nur die Dateinamenerweiterung verwendet. Weitere Informationen zu den unterstützten Dateitypen finden Sie unter Architektur von Anpassungen auf Dokumentebene.
Um nach dem Aufrufen dieses Konstruktors auf das Bytearray für das Dokument zuzugreifen, verwenden Sie die Document-Eigenschaft.
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
- Volle Vertrauenswürdigkeit für den unmittelbaren Aufrufer. Dieser Member kann von nur teilweise vertrauenswürdigem Code nicht verwendet werden. Weitere Informationen finden Sie unter Verwenden von Bibliotheken aus teilweise vertrauenswürdigem Code.