Compartilhar via


Cache de dados

Você pode armazenar em cache objetos de dados em uma personalização da nível de modo que os dados podem ser acessado off-line, ou sem abrir o Microsoft Office Word e 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 comuns no .NET Framework cumprem esses requisitos, incluindo String, DataSet, e DataTable.

Aplicável a: As informações neste tópico se aplicam a projetos de nível de documento para os seguintes aplicativos: Excel 2013 e Excel 2010; Word 2013 e Word 2010. Para obter mais informações, consulte Recursos disponíveis pelo aplicativo do Office e o tipo de projeto.

Há duas maneiras de 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 palavra ou iniciar o excel.Para obter mais informações, consulte Acesso a dados em documentos no servidor.

Requisitos para os objetos de dados são armazenados em cache

Para armazenar em cache um objeto de dados na sua solução, o objeto deve atender aos requisitos:

  • É um campo ou propriedade pública de leitura/gravação de um item host, como as classes de ThisDocument ou de ThisWorkbook .

  • Não seja um marcador ou outra propriedade parametrizada.

Além de isso, o objeto de dados deve ser serializada pela classe de XmlSerializer , o que significa que o tipo de objeto deve ter as características:

  • É um tipo público.

  • Tem um construtor público sem parâmetros.

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

  • Propriedades públicas expõem somente de leitura/gravação de (outras propriedades serão ignoradas.)

  • Matrizes não exposição de várias dimensões (matrizes aninhados são aceitos.)

  • O retorno não tem interface de propriedades e campos.

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

Quando você armazena em cache um objeto de dados, Visual Studio Tools for Office Runtime serializa o objeto em uma cadeia de caracteres de XML que está armazenado em uma parte personalizado XML no documento.Para obter mais informações, consulte Visão geral de partes XML personalizada.

Limites de tamanho dos dados armazenados em cache

Há alguns limites a quantidade de dados que você pode adicionar ao cache de dados em um documento, e o tamanho de qualquer objeto individual no cache de dados.Se você exceder esses limites, o aplicativo pode fechar inesperado quando dados são salvos no cache de dados.

Para evitar esses limites, siga estas diretrizes:

  • Não adicionar qualquer objeto de 10 MB maior ao cache de dados.

  • Não adicionar mais de 100 MB de dados para o cache total de dados em um único documento.

Esses valores são aproximados.Os limites exatos dependendo de vários fatores, incluindo RAM disponível e o número de processos de execução.

controlando o comportamento de objetos armazenados em cache

Para obter mais controle sobre o comportamento de um objeto armazenado em cache, você pode implementar a interface de ICachedType no tipo de objeto armazenado em cache.Por exemplo, você pode implementar essa interface se você deseja controlar como o usuário é notificado quando o objeto foi alterado.Para exemplos de código que demonstram como implementar ICachedType, consulte a classe de ControlCollection no exemplo de controles dinâmicos Excel e com o exemplo de controles dinâmicos em Passo a passo e amostras de desenvolvimento do office.

Persistir alterações aos dados armazenados em cache em documentos Senha- Protegidos

Se você armazenar em cache objetos de dados em um documento que está protegido por senha, as alterações aos dados armazenados em cache não são salvas.Você pode salvar alterações dos dados armazenados em cache substituindo dois métodos.Substituir esses métodos para remover temporariamente proteção quando o documento é salvo, e para reaplicar na proteção após a operação de salvar concluída.

Para obter mais informações, consulte Como: dados do Cache em um documento protegido por senha.

evitando a perda de dados ao adicionar valores nulos ao cache de dados

Quando você adicionar objetos ao cache de dados, todos os objetos armazenados em cache deve ser inicializada para um valor não denull antes do documento são salvos e fechados.Se qualquer objeto armazenado em cache tem um valor de null quando o documento é salvo e fechado, Visual Studio Tools for Office Runtime automaticamente removerá todos os objetos armazenados em cache de cache de dados.

Se você adicionar um objeto com um valor de null ao cache de dados usando o atributo de CachedAttribute em tempo de design, você pode usar a classe de ServerDocument para inicializar objetos de dados armazenados em cache antes do documento está aberto.Isso é útil se você deseja inicializar os dados armazenados em cache em um servidor sem palavra ou do excel instalados, antes do documento está aberto pelo usuário final.Para obter mais informações, consulte Acesso a dados em documentos no servidor.

Consulte também

Tarefas

Como: os dados em Cache para uso off-line ou em um servidor

Como: armazenar em Cache programaticamente uma fonte de dados em um documento do Office

Como: dados do Cache em um documento protegido por senha

Passo a passo: Criando uma relação mestre/detalhes usando um Dataset em cache