Pergunta

Eu só mergulho começou em ADO.NET Data Services para um projeto, e eu rapidamente correu para um problema. No começo eu estava impressionado com o desempenho, mas depois percebi que os dados foram armazenados em cache. Meu projeto se baseia em dados em tempo real, e eu adoraria usar a sintaxe de consulta serviços REST ADO.NET Dados (sem a necessidade de usar WCF ou SOAP), mas sem cache.

Eu vi na página de introdução ADO.NET Data Services ( aqui ) que eles ainda não têm suporte API para gerenciar a duração de cache ou qualquer coisa do género.

Alguém tem alguma idéia de como fazer isso, ou desligar o cache?

Foi útil?

Solução

Por padrão, o contexto de dados tem MergeOption conjunto para AppendOnly. Isto significa que re-pedidos só irá adicionar novas entidades e não irá atualizar os já existentes. Tente definir MergeOption para OverwriteChanges:

this.context.MergeOption = MergeOption.OverwriteChanges;

Isso funcionou para mim quando eu notei isso! Se você estiver usando dados em tempo real, então você pode querer desligar o controle de alterações completamente com a opção NoTracking.

Outras dicas

Nós fizemos um post recentemente sobre como usar ETags para controlar a política de cache de dados retornados de um serviço de dados, http://blogs.msdn.com/astoriateam/archive/2008/04/22/optimistic-concurrency-data-services.aspx

Esse link é útil, mas ele realmente não falar sobre ETags e cache, ele apenas menciona que ETags pode ser usado para cache. Você tem um exemplo?

Em profundidade detalhes sobre a ETag

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top