ADO.NET Data Services «Астория» и кеширование - PullRequest
1 голос
/ 09 декабря 2008

Я только начал погружаться в ADO.NET Data Services для проекта и быстро столкнулся с проблемой. Сначала я был поражен производительностью, но потом понял, что данные кэшируются. Мой проект основан на данных в реальном времени, и я бы хотел использовать синтаксис запросов REST ADO.NET Data Services (без необходимости использования WCF или SOAP), но без кэширования.

Я увидел на странице введения ADO.NET Data Services ( здесь ), что у них еще нет поддержки API для управления длительностью кэша или чего-либо подобного.

У кого-нибудь есть идеи, как этого добиться или отключить кеш?

Ответы [ 4 ]

2 голосов
/ 06 октября 2009

По умолчанию в контексте данных для MergeOption установлено значение AppendOnly. Это означает, что повторные запросы будут только добавлять новые объекты и не будут обновлять существующие. Попробуйте установить для MergeOption значение OverwriteChanges:

this.context.MergeOption = MergeOption.OverwriteChanges;

Это сработало для меня, когда я это заметил! Если вы используете данные в реальном времени, вы можете полностью отключить отслеживание изменений с помощью опции NoTracking.

2 голосов
/ 25 декабря 2008

Недавно мы сделали сообщение о том, как использовать ETag для управления политикой кэширования данных, возвращаемых службой данных, http://blogs.msdn.com/astoriateam/archive/2008/04/22/optimistic-concurrency-data-services.aspx

0 голосов
/ 15 июля 2009

Подробная информация о ETag

0 голосов
/ 05 января 2009

Эта ссылка полезна, но на самом деле она не говорит о ETag и кешировании, она просто упоминает, что ETag можно использовать для кеширования. У вас есть пример?

...