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 | |
---|---|---|
ServerDocument(String) | Inicializa uma nova instância da classe ServerDocument que usa o caminho completo do documento a ser carregado. | |
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. | |
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. | |
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 | |
---|---|---|
CachedData | Obtém um objeto de CachedData que representa os dados armazenados em cache que estão contidos no documento. | |
DeploymentManifestUrl | Obtém ou define o URL de manifesto de implantação para personalização que está associada com o documento. | |
Document | Obtém a matriz de bytes de um documento de memória que é carregado em ServerDocument. | |
SolutionId | Obtém o que Visual Studio Tools for Office Runtime usa para identificar a solução. |
Superior
Métodos
Nome | Descrição | |
---|---|---|
AddCustomization(String, Uri) | Anexa uma personalização documento especificado usando o manifesto do nome especificado e implantação do assembly. | |
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. | |
AddCustomization(String, String, Guid, Uri, Boolean, array<String[]%) | Infraestrutura. | |
Close | Fecha o objeto de ServerDocument . | |
Equals | Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object.) | |
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. | |
GetHashCode | Serve como a função de hash padrão. (Herdado de Object.) | |
GetType | Obtém Type da instância atual. (Herdado de Object.) | |
IsCacheEnabled | Obtém um valor que indica se o documento especificado tem um cache de dados. | |
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. | |
RemoveCustomization | Remove a personalização do documento. | |
Save | Salva as alterações feitas ao documento usando a classe de ServerDocument . | |
ToString | Retorna uma cadeia de caracteres que representa o objeto atual. (Herdado de Object.) |
Superior
Implementações explícitas da interface
Nome | Descrição | |
---|---|---|
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.
Acessando 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 .
Acessando 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