ServerDocument-Konstruktor (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.
Namespace: Microsoft.VisualStudio.Tools.Applications
Assembly: Microsoft.VisualStudio.Tools.Applications.ServerDocument (in Microsoft.VisualStudio.Tools.Applications.ServerDocument.dll)
Syntax
'Declaration
Public Sub New ( _
bytes As Byte(), _
fileType As String _
)
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.String
Die 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-Laufzeit unterstützt wird. |
DocumentCustomizedWithPreviousRuntimeException | Die von documentPath angegebene Datei bietet eine Anpassung, die nicht mit Visual Studio 2010-Tools for Office-Laufzeit oder den Visual Studio-Tools für das Microsoft Office-System (Version 3.0 Runtime) 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 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 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();
}
}
.NET Framework-Sicherheit
- 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.