Partilhar via


Construtor ServerDocument (Stream, String)

Inicializa uma nova instância de ServerDocument classe usando um fluxo que representa o documento a ser carregado e a extensão de nome de arquivo do documento.

Namespace:  Microsoft.VisualStudio.Tools.Applications
Assembly:  Microsoft.VisualStudio.Tools.Applications.ServerDocument (em Microsoft.VisualStudio.Tools.Applications.ServerDocument.dll)

Sintaxe

'Declaração
Public Sub New ( _
    stream As Stream, _
    fileType As String _
)
public ServerDocument(
    Stream stream,
    string fileType
)

Parâmetros

  • stream
    Tipo: System.IO.Stream
    Um fluxo que representa o documento a ser carregado.
  • fileType
    Tipo: System.String
    A extensão de nome de arquivo do documento que é armazenado nas bytes parâmetro, precedido por um ponto (.)— Por exemplo, ". xlsx" ou ". docx".

Exceções

Exceção Condição
ArgumentNullException

O stream parâmetro é nulluma referência nula (Nothing no Visual Basic) ou vazio.

- ou -

O fileType parâmetro é nulluma referência nula (Nothing no Visual Basic) vazio ou consiste inteiramente de caracteres de espaço em branco.

ArgumentException

O stream parâmetro tem comprimento zero ou sua posição atual é o fluxo final.

UnknownCustomizationFileException

O fileType parâmetro especifica uma extensão de nome de arquivo não oferece suporte a Visual Studio Tools for Office runtime.

DocumentCustomizedWithPreviousRuntimeException

O arquivo especificado por documentPath tem uma personalização que não foi criada com o Visual Studio 2010 Tools for Office Runtime ou o Visual Studio Tools para o sistema de Microsoft Office (versão 3.0 Runtime).

Comentários

Use este construtor para acessar os dados ou implantação manifesto informações armazenadas em cache em um documento que já está na memória. Quando você usa esse construtor, o documento é aberto com acesso de leitura/gravação.

O fileType parâmetro é usado apenas para determinar o tipo de documento que está armazenado na matriz de bytes. O valor de fileType é mapeado para um dos tipos de arquivo que têm suporte para personalizações em nível de documento. É feita nenhuma tentativa de abrir o arquivo. Opcionalmente, você pode passar um nome de arquivo completo (por exemplo, "Workbook1.xlsx"), mas se você fizer isso, apenas a extensão de nome de arquivo é usada. Para obter mais informações sobre os tipos de arquivo com suporte, consulte Arquitetura de personalizações em nível de documento.

Para acessar a matriz de bytes para o documento depois de chamar este construtor, use o Document propriedade.

Exemplos

O seguinte exemplo de código usa o ServerDocument(Stream, String) o construtor para criar um novo ServerDocument de um FileStream que contém uma pasta de trabalho do Excel com extensão de nome do. xlsx o arquivo. O código, em seguida, exibe a URL do manifesto de implantação para a personalização que é anexado ao documento.

This example requires:

  • Um projeto de aplicativo de console ou algum outro projeto de não-Office.

  • Referências aos assemblies seguintes:

    • Microsoft.VisualStudio.Tools.Applications.ServerDocument.dll e Microsoft.VisualStudio.Tools.Applications.Runtime.dll (se os destinos do projeto de .NET Framework 4).

      or

    • Microsoft.VisualStudio.Tools.Applications.ServerDocument.v10.0.dll e Microsoft.VisualStudio.Tools.Applications.Runtime.v9.0.dll (se os destinos do projeto a.NET Framework 3.5).

  • Imports(para Visual Basic) ou using (para C#) instruções para Microsoft.VisualStudio.Tools.Applications e Microsoft.VisualStudio.Tools.Applications.Runtime namespaces no topo do seu arquivo de código.

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();
    }
}

Segurança do .NET Framework

Consulte também

Referência

ServerDocument Classe

Sobrecargas ServerDocument

Namespace Microsoft.VisualStudio.Tools.Applications