Compartilhar via


Classe ServerDocument

Fornece acesso a dados armazenados em cache e informações de personalização em um documento ou em uma pasta de trabalho que seja parte de uma personalização de um documento nível criada usando as ferramentas de desenvolvimento do Office no Visual Studio.

Hierarquia de herança

System.Object
  Microsoft.VisualStudio.Tools.Applications.ServerDocument

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

Sintaxe

'Declaração
<PermissionSetAttribute(SecurityAction.Demand, Name := "FullTrust")> _
Public NotInheritable Class ServerDocument _
    Implements IDisposable
[PermissionSetAttribute(SecurityAction.Demand, Name = "FullTrust")]
public sealed class ServerDocument : IDisposable

O tipo ServerDocument expõe os membros a seguir.

Construtores

  Nome Descrição
Método público ServerDocument(String) Inicializa uma nova instância da classe ServerDocument que usa o caminho completo do documento a ser carregado.
Método público ServerDocument(array<Byte[], String) Inicializa uma nova instância da classe ServerDocument que usa uma matriz de bytes que representa o documento a ser carregado e a extensão de nome de arquivo do documento.
Método público ServerDocument(Stream, String) Inicializa uma nova instância da classe ServerDocument que usa um fluxo que representa o documento a ser carregado e a extensão de nome de arquivo do documento.
Método público ServerDocument(String, FileAccess) Inicializa uma nova instância da classe ServerDocument que usa o caminho completo do documento sejam carregados e um valor que indica o acesso a arquivos para o documento.

Superior

Propriedades

  Nome Descrição
Propriedade pública CachedData Obtém um objeto de CachedData que representa os dados armazenados em cache que estão contidos no documento.
Propriedade pública DeploymentManifestUrl Obtém ou define o URL de manifesto de implantação para personalização que está associada com o documento.
Propriedade pública Document Obtém a matriz de bytes de um documento de memória que é carregado em ServerDocument.
Propriedade pública SolutionId Obtém o que Visual Studio Tools for Office Runtime usa para identificar a solução.

Superior

Métodos

  Nome Descrição
Método públicoMembro estático AddCustomization(String, Uri) Anexa uma personalização documento especificado usando o manifesto do nome especificado e implantação do assembly.
Método públicoMembro estático AddCustomization(String, String, Guid, Uri) Anexa uma personalização documento especificado usando o documento, o nome do assembly, o ID de solução, especificados e o manifesto de implantação.
Método públicoMembro estático AddCustomization(String, String, Guid, Uri, Boolean, array<String[]%) Infraestrutura.
Método público Close Fecha o objeto de ServerDocument .
Método público Equals Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object.)
Método públicoMembro estático GetCustomizationVersion Retorna a versão de Visual Studio Tools for Office Runtime que foi usada para criar a personalização que está associada com o documento especificado.
Método público GetHashCode Serve como a função de hash padrão. (Herdado de Object.)
Método público GetType Obtém Type da instância atual. (Herdado de Object.)
Método públicoMembro estático IsCacheEnabled Obtém um valor que indica se o documento especificado tem um cache de dados.
Método públicoMembro estático IsCustomized Obtém um valor que indica se o documento especificado tem uma personalização que é criado usando o Visual Studio 2010 Tools for Office Runtime.
Método públicoMembro estático RemoveCustomization Remove a personalização do documento.
Método público Save Salva as alterações feitas ao documento usando a classe de ServerDocument .
Método público ToString Retorna uma cadeia de caracteres que representa o objeto atual. (Herdado de Object.)

Superior

Implementações explícitas da interface

  Nome Descrição
Implementação explícita da interfaceMétodo particular IDisposable.Dispose Libera os recursos usados por ServerDocument.

Superior

Comentários

Use a classe de ServerDocument para gerenciar determinados aspectos de personalizações de um documento nível em um computador que não tenha Excel ou não os exprima instalado. Você normalmente usa esta classe em aplicativos que não se integram com o Office, como projetos do console ou projetos do Windows Forms, em vez de projetos do Office.

Use os seguintes membros de classe de ServerDocument para executar tarefas comuns:

  • Para acessar e modificar dados no cache de dados de um documento em um servidor, use a propriedade de CachedData .

  • Para anexar uma personalização um documento ou remover programaticamente uma personalização de um documento, use os métodos de AddCustomization e de RemoveCustomization .

  • Para acessar ou alterar o URL de manifesto de implantação que está associado com o documento, use a propriedade de DeploymentManifestUrl .

Há duas versões diferentes de classe de ServerDocument no 2010 Visual Studio Tools for Office Runtime. A versão que você deve usar depende de destino do .NET Framework aplicativo no qual você deseja usar a classe:

  • Para aplicativos destinados .NET Framework 4 ou .NET Framework 4.5, use a classe de Microsoft.VisualStudio.Tools.Applications.ServerDocument no assembly de Microsoft.VisualStudio.Tools.Applications.ServerDocument.dll.

  • Para aplicativos que direcionam o.NET Framework 3.5, use a classe de Microsoft.VisualStudio.Tools.Applications.ServerDocument no assembly de Microsoft.VisualStudio.Tools.Applications.ServerDocument.v10.0.dll.

Para obter mais informações, consulte Gerenciando documentos em um servidor usando a classe ServerDocument.

Escolhendo que construtor para usar

Para usar a classe de ServerDocument para acessar os dados armazenados em cache ou URL de manifesto de implantação em um documento, você deve criar um objeto de ServerDocument .

Há dois conjuntos de construtores de ServerDocument :

  • Um conjunto que você pode usar para acessar um documento que já está aberto na memória.

  • Um conjunto que você pode usar para acessar um documento que está no disco.

Bb514484.collapse_all(pt-br,VS.120).gifAcessando um documento na memória

Para acessar um documento que já está aberto na memória, use um dos construtores:

Esses construtores aceitam uma matriz de bytes ou um Stream que representa o documento na memória. Isso é útil se você desejar alterar os dados armazenados em cache ou o manifesto do aplicativo no documento antes de passar para um destino usando o protocolo HTTP. Para usar esses construtores, o documento deve ter uma personalização; se não, esses construtores) lançarão uma exceção de CannotLoadManifestException .

Bb514484.collapse_all(pt-br,VS.120).gifAcessando um documento no disco

Para acessar um documento que está no disco, use um dos construtores:

Esses construtores aceitam o caminho completo de documento que você deseja abrir. Por padrão, o documento está aberto com acesso de leitura/gravação. Se você deseja abrir o documento com acesso somente leitura ou somente escrita, use o construtor que tem um parâmetro de FileAccess .

Exemplos

O exemplo de código a seguir cria um novo ServerDocument que carrega um documento especificado e então exibe o URL de manifesto de implantação para personalização que é anexada ao documento.

Este exemplo requer:

  • Um projeto de aplicativo do console ou qualquer outro projeto do Office não.

  • Referências para os seguintes conjuntos:

    • Microsoft.VisualStudio.Tools.Applications.ServerDocument.dll e Microsoft.VisualStudio.Tools.Applications.Runtime.dll (se o projeto utiliza .NET Framework 4 ou .NET Framework 4.5).

      ou

    • Microsoft.VisualStudio.Tools.Applications.ServerDocument.v10.0.dll e Microsoft.VisualStudio.Tools.Applications.Runtime.v9.0.dll (se o projeto utiliza o .NET Framework 3.5).

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

Private Sub CreateServerDocumentFromPath(ByVal documentPath As String)
    Dim runtimeVersion As Integer = 0
    Dim serverDocument1 As ServerDocument = Nothing

    Try
        runtimeVersion = ServerDocument.GetCustomizationVersion(documentPath)
        If runtimeVersion = 3 Then
            serverDocument1 = New ServerDocument(documentPath)
            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
    End Try
End Sub
private void CreateServerDocumentFromPath(string documentPath)
{
    int runtimeVersion = 0;
    ServerDocument serverDocument1 = null;

    try
    {
        runtimeVersion = ServerDocument.GetCustomizationVersion(documentPath);
        if (runtimeVersion == 3)
        {
            serverDocument1 = new ServerDocument(documentPath);
            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();
    }
}

Acesso thread-safe

Quaisquer membros estático (Shared no Visual Basic) públicos deste tipo são thread-safe. Não há garantia de que qualquer membro de instância seja thread-safe.

Consulte também

Referência

Namespace Microsoft.VisualStudio.Tools.Applications

Outros recursos

Gerenciando documentos em um servidor usando a classe ServerDocument

Manifestos de aplicativo e implantação em soluções do Office

Acessando dados em documentos no servidor