Virtual Path Provider deaktiviert Caching?

7

Ich habe einen virtuellen Pfadanbieter. Problem ist das Zwischenspeichern meiner Dateien. Immer wenn ich manuell eine der Aspx-Dateien bearbeite, die darauf verweisen, dass das VPP die neue Datei nicht einliest, wird die alte Datei weiterhin verwendet, bis ich die Site neu starte.

Ich habe sogar die GetCacheDependency () in meiner VirtualPathProvider-Klasse überholt:

%Vor%

Ideen?

    
downatone 01.10.2009, 18:43
quelle

5 Antworten

19

Die Rückgabe eines NULL sagt ASP.NET im Wesentlichen, dass Sie keine Abhängigkeit haben - daher wird ASP.NET das Element nicht neu laden.

Sie müssen eine gültige Abhängigkeit, z. B.

, zurückgeben %Vor%

Ein korrekterer Ansatz besteht darin, sicherzustellen, dass Sie nur Ihre eigenen Cache-Abhängigkeiten behandeln (dies ist ein schematisches Beispiel):

%Vor%     
Samir Seth 17.11.2009, 21:21
quelle
14

Die korrekte Methode zum Deaktivieren des Caching ist:

%Vor%     
Chandima Prematillake 04.06.2013 17:48
quelle
2

Ich glaube nicht, dass dies das ursprüngliche Poster ist. Er möchte das Caching vollständig deaktivieren, es nicht besser implementieren, obwohl Ihr Beitrag hilfreich für Letzteres ist.

Sehr viele Leute verwenden VirtualPathProvider, um Daten aus einer Datenbank anstatt aus einem Dateisystem zu ziehen. Ich sehe nicht, wie das Erstellen einer Dateisystemabhängigkeit eine nützliche Methode ist, um festzustellen, wann es Zeit ist, die Datei zu aktualisieren.

Wie würden Sie es erzwingen, niemals Caching zu verwenden und immer die neueste Version der Datei abzurufen? Das ist die Frage.

    
jrichview 25.04.2013 18:19
quelle
1
%Vor%     
user2095150 04.04.2013 11:45
quelle
-1

Die Lösung, die für mich wie gewünscht funktionierte, war:

  • GetCacheDependency: gibt null zurück;
  • GetFileHash: gibt Guid.NewGuid () zurück. ToString ();

Bei dieser Lösung führt dies jedoch zum Hängen des Servers (Cassini, IIS 6, IIS 7, IIS 8). Das Aufhängen dauert nur ein paar Minuten, dann werden die Ergebnisse geliefert.

Ich habe auch einen Test für den virtuellen Pfad / Datei mit den gleichen Ergebnissen enthalten. Ich habe mit Browser-Timeouts verstimmt.

Kann jemand helfen?

    
jbecker 25.07.2017 22:53
quelle

Tags und Links