ServerDocument-Konstruktor (Stream, String) (2007 System)
Aktualisiert: November 2007
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.v9.0 (in Microsoft.VisualStudio.Tools.Applications.ServerDocument.v9.0.dll)
Syntax
'Declaration
Public Sub New ( _
stream As Stream, _
fileType As String _
)
'Usage
Dim stream As Stream
Dim fileType As String
Dim instance As New ServerDocument(stream, _
fileType)
public ServerDocument(
Stream stream,
string fileType
)
Parameter
stream
Typ: System.IO.StreamEin Stream, der 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 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 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(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 Visual Studio Tools for Office-Anpassung angezeigt, die an das Dokument angefügt ist.
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 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();
}
}
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.