Compartilhar via


Cache objetos de dados

Se aplica a

As informações deste tópico se aplica somente aos projetos especificados e as versões do Microsoft Office.

Tipo de Projeto

  • Projetos no nível do documento

Versão do Microsoft Office

  • Sistema Microsoft Office 2007

  • Microsoft Office 2003

Para obter mais informações, consulte Recursos disponíveis pelo aplicativo e o tipo de projeto.

Você pode armazenar em cache objetos de dados em uma personalização no nível do documento para que os dados podem ser acessados off-Linha, ou sem Abrindo Microsoft Office Word ou do Microsoft Office Excel. Para armazenar em cache um objeto, o objeto deve ter um tipo de dados que atenda a certos requisitos. Muitos tipos de dados Comum no .NET Framework atender a esses requisitos, incluindo DataTableString, DataSet e.

T aqui são duas maneiras para adicionar um objeto para o cache de dados:

Após adicionar um objeto para o cache de dados, você pode acessar e modificar os dados armazenados em cache sem iniciar o Word ou Excel. Para obter mais informações, consulte Acesso a dados em documentos Visão Geral do lado do servidor.

Requisitos para objetos de dados ser armazenados em cache

Se você quiser cache instâncias de tipos de dados que você criar, os tipos de dados devem atender a esses requisitos:

  • Ser um Leitura/Gravação público Campo ou propriedade de um item de host, como o ThisDocument ou ThisWorkbook classes.

  • Não seja um indexador ou Outro parametrizados Propriedade.

Além disso, o objeto de dados deve ser serializável pela classe XmlSerializer, o que significa que ele deve ter estas características:

  • Ser um tipo público.

  • Tem um construtor público com Não parâmetros.

  • Não executar o código que requer privilégios de segurança adicionais.

  • Expor Apenas propriedades públicas de leitura/gravação (outras propriedades serão ignoradas).

  • Não exponha matrizes multidimensional (matrizes aninhadas são aceitos).

  • Não retornar as interfaces de propriedades e campos.

  • Não implemente IDictionary se uma coleção.

Controlar o comportamento dos objetos em cache

Para obter mais Controlarar sobre o comportamento de um objeto armazenado em cache, você pode implementar a interface ICachedType no tipo de objeto em cache. Por exemplo, você pode implementar essa interface se você desejar controlar como o usuário é notificado quando o objeto foi alterado. Para obter exemplos de código que demonstram como implementar ICachedType, consulte a classe ControlCollection os aplicativos de exemplo a seguir:

Impedindo a perda de dados quando adicionar valores nulos para o cache de dados

Quando você Adicionar objetos para o cache de dados, todos os objetos em cache devem ser inicializados para um não - null valor antes o documento é salva e Fechada. Se qualquer objeto armazenado em cache tiver um valor null quando o documento é salvo e fechado, o Tempo de execução automaticamente irá remover todos os objetos em cache do cache de dados.

Se você adicionar um objeto com um valor null para o cache de dados usando o atributo CachedAttribute em tempo de design, você pode usar a classe ServerDocument para inicializar os objetos armazenados em cache de dados antes que o documento for aberto. Isso é útil se você deseja inicializar os dados armazenados em cache em um servidor sem o Word ou Excel instalado, antes do documento é aberto por um usuário final. Para obter mais informações, consulte Acesso a dados em documentos Visão Geral do lado do servidor.

Como dados em cache são armazenados no documento

Quando você cache um objeto de dados em um documento, o Tempo de execução serializa o objeto em uma seqüência que é armazenada no documento XML. A maneira que o XML Cadeia de Caracteres é armazenada no documento depende da versão do Microsoft Office a sua solução funciona com:

  • Em personalizações do Microsoft Office 2003, o Runtime armazena a seqüência XML no controle de armazenamento em tempo de execução. O controle de armazenamento em tempo de execução é um controle ActiveX que é incorporado no documento. Para obter mais informações, consulte Visão geral do Controlarar em tempo de execução armazenamento.

  • Em personalizações para o sistema Microsoft Office 2007, o Runtime armazena a seqüência XML em um personalizado XML parte no documento. Para obter mais informações, consulte Visão geral de Parts XML Personalizar.

Consulte também

Tarefas

Como: Armazenar em cache dados para uso off-line ou em um servidor

Como: Armazenar em cache programaticamente uma Origem de dados em um documento do Office

Outros recursos

Cache de dados