Condividi tramite


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

Vedere anche

Riferimenti

ServerDocument Classe

Overload ServerDocument

Spazio dei nomi Microsoft.VisualStudio.Tools.Applications