ServerDocument-Konstruktor (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.
Namespace: Microsoft.VisualStudio.Tools.Applications
Assembly: Microsoft.VisualStudio.Tools.Applications.ServerDocument (in Microsoft.VisualStudio.Tools.Applications.ServerDocument.dll)
Syntax
'Declaration
Public Sub New ( _
stream As Stream, _
fileType As String _
)
public ServerDocument(
Stream stream,
string fileType
)
Parameter
- stream
Typ: System.IO.Stream
Ein Stream, der 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 stream-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. |
ArgumentException | Der stream-Parameter besitzt die Länge 0 (null), oder seine aktuelle Position ist am Ende des Streams. |
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(Stream, String)-Konstruktor verwendet, um ein neues ServerDocument aus einem FileStream zu erstellen, der eine Excel-Arbeitsmappe mit der Dateinamenerweiterung .xlsx enthält. Im Code wird dann 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 CreateServerDocumentFromStream(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
stream = New System.IO.FileStream(documentPath, System.IO.FileMode.Open)
serverDocument1 = New ServerDocument(stream, "*.xlsx")
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
If Not (stream Is Nothing) Then
stream.Close()
End If
End Try
End Sub
private void CreateServerDocumentFromStream(string documentPath)
{
int runtimeVersion = 0;
ServerDocument serverDocument1 = null;
System.IO.FileStream stream = null;
try
{
runtimeVersion = ServerDocument.GetCustomizationVersion(documentPath);
if (runtimeVersion == 3)
{
stream = new System.IO.FileStream(
documentPath, System.IO.FileMode.Open);
serverDocument1 = new ServerDocument(stream,
"*.xlsx");
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();
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.