Frage

ich für ein Projekt Tauchen in ADO.NET Data Service gerade erst begonnen, und ich lief schnell zu einem Problem. Zuerst war ich von der Leistung begeistert, aber dann merkte ich, dass die Daten zwischengespeichert wurden. Mein Projekt stützt sich auf Daten in Echtzeit, und ich würde gerne die ADO.NET Data Services REST-Abfragesyntax verwenden (ohne dass WCF oder SOAP verwenden), aber ohne Caching.

Ich sah auf der ADO.NET Data Services Einführung Seite ( hier ), die sie noch nicht über API-Unterstützung haben für die Cache-Dauer oder etwas dergleichen zu verwalten.

Wer irgendwelche Ideen, wie dies zu erreichen, oder um den Cache deaktivieren?

War es hilfreich?

Lösung

In der Standardeinstellung des Datenkontext gesetzt MergeOption zu AppendOnly. Dies bedeutet, dass wieder Anfragen nur neue Einheiten hinzufügen und nicht bestehende aktualisieren. Versuchen Sie, MergeOption zu OverwriteChanges:

this.context.MergeOption = MergeOption.OverwriteChanges;

Das ist für mich gearbeitet, wenn ich dies bemerkt! Wenn Sie Echtzeitdaten verwenden dann möchten Sie vielleicht ändern vollständig mit der NoTracking Option Tracking auszuschalten.

Andere Tipps

Wir haben einen Beitrag vor kurzem darüber, wie ETags zu verwenden, die Caching-Richtlinie von Daten von einem Datendienst zurückgegeben zu kontrollieren, http://blogs.msdn.com/astoriateam/archive/2008/04/22/optimistic-concurrency-data-services.aspx

Dieser Zusammenhang hilfreich ist, aber es spricht nicht wirklich über ETags und Caching, es erwähnt nur, dass ETags sein kann verwendet für das Caching. Haben Sie ein Beispiel nennen?

In der Tiefen Details über die ETag

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top