Costruttore ServerDocument (Stream, String)
Inizializza una nuova istanza della classe ServerDocument utilizzando un flusso che rappresenta il documento da caricare e l'estensione di file del documento.
Spazio dei nomi: Microsoft.VisualStudio.Tools.Applications
Assembly: Microsoft.VisualStudio.Tools.Applications.ServerDocument (in Microsoft.VisualStudio.Tools.Applications.ServerDocument.dll)
Sintassi
'Dichiarazione
Public Sub New ( _
stream As Stream, _
fileType As String _
)
public ServerDocument(
Stream stream,
string fileType
)
Parametri
- stream
Tipo: System.IO.Stream
Flusso che rappresenta il documento da caricare.
- fileType
Tipo: System.String
Estensione di file del documento archiviato nel parametro bytes, preceduta da un punto (.). Ad esempio, ".xlsx" o ".docx".
Eccezioni
Eccezione | Condizione |
---|---|
ArgumentNullException | Il parametro stream è nullriferimento null (Nothing in Visual Basic) oppure vuoto. In alternativa Il parametro fileType è nullriferimento null (Nothing in Visual Basic), vuoto, oppure composto unicamente da spazi vuoti. |
ArgumentException | Il parametro stream ha lunghezza zero oppure la posizione corrente è alla fine del flusso. |
UnknownCustomizationFileException | L'estensione di file specificata dal parametro fileType non è supportata dal Runtime di Visual Studio Tools per Office. |
DocumentCustomizedWithPreviousRuntimeException | Il file specificato da documentPath dispone di una personalizzazione non creata con Visual Studio 2010 tools per Office runtime o Visual Studio Tools per Microsoft Office System (versione runtime 3,0). |
Note
Utilizzare questo costruttore per accedere ai dati memorizzati nella cache o alle informazioni sul manifesto di distribuzione in un documento già in memoria.Quando si utilizza questo costruttore, il documento viene aperto con accesso in lettura/scrittura.
Il parametro fileType viene utilizzato soltanto per determinare il tipo di documento archiviato nella matrice di byte.Viene eseguito il mapping del valore di fileType a uno dei tipi di file supportati per le personalizzazioni a livello di documento.Non è stato eseguito alcun tentativo per aprire il file.È inoltre possibile passare un nome file completo (ad esempio, "Workbook1.xlsx"). Procedendo in questo modo, tuttavia, viene utilizzata soltanto l'estensione di file.Per ulteriori informazioni sui tipi di file supportati, vedere Architettura delle personalizzazioni a livello di documento.
Per accedere alla matrice di byte del documento dopo la chiamata al costruttore, utilizzare la proprietà Document.
Esempi
Nell'esempio di codice riportato di seguito viene utilizzato il costruttore ServerDocument(Stream, String) per creare un nuovo oggetto ServerDocument da un oggetto FileStream contenente una cartella di lavoro di Excel con estensione di file xlsx.Nel codice viene quindi visualizzato l'URL del manifesto di distribuzione per la personalizzazione associata al documento.
L'esempio presenta i seguenti requisiti:
Progetto di applicazione console o qualche altro progetto non-Office.
Riferimenti ai seguenti assembly:
Microsoft.VisualStudio.Tools.Applications.ServerDocument.dll e Microsoft.VisualStudio.Tools.Applications.Runtime.dll (se il progetto è destinato a .NET Framework 4 o .NET Framework 4.5).
oppure
Microsoft.VisualStudio.Tools.Applications.ServerDocument.v10.0.dll e Microsoft.VisualStudio.Tools.Applications.Runtime.v9.0.dll (se il progetto è destinato a .NET Framework 3.5).
Istruzioni Imports (per Visual Basic) o using (per C#) per gli spazi dei nomi Microsoft.VisualStudio.Tools.Applications e Microsoft.VisualStudio.Tools.Applications.Runtime all'inizio del file di codice
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();
}
}
Sicurezza di .NET Framework
- Attendibilità totale per il chiamante immediato. Impossibile utilizzare questo membro in codice parzialmente attendibile. Per ulteriori informazioni, vedere Utilizzo di librerie da codice parzialmente attendibile.