Unterstützt NancyFX das Zwischenspeichern statischer Inhalte über die Header ETag und Last-Modified?

8

Ich möchte, dass mein statischer Inhalt (Bilder, JavaScript-Dateien, CSS-Dateien usw.) erst nach der Aktualisierung der Datei vollständig bereitgestellt wird.

Wenn sich eine Datei seit der letzten Anforderung nicht geändert hat (wie durch die Headerwerte ETag und Last-Modified response festgelegt), möchte ich, dass die zwischengespeicherten Versionen der Dateien vom Clientbrowser verwendet werden.

>

Unterstützt Nancy diese Funktionalität?

    
biofractal 04.10.2012, 11:19
quelle

1 Antwort

14

Nancy unterstützt teilweise die Header ETag und Last-Modified . Sie legt sie für alle statischen Dateien fest, aber ab Version 0.13 wird nichts mit diesen Werten gemacht. Hier ist der Nancy-Code:

Nancy.Responses.GenericFileResponse.cs

%Vor%

Um für die Headerwerte ETag und Last-Modified zu verwenden, müssen Sie einige modifizierte Erweiterungsmethoden hinzufügen. Ich lieh diese direkt aus dem Quellcode von Nancy in GitHub aus (da diese Funktionalität für eine zukünftige Version geplant ist), aber die ursprüngliche Idee kam von Simon Cropp - Bedingte Antworten mit NancyFX

Erweiterungsmethoden

%Vor%

Schließlich müssen Sie diese Methoden mit dem AfterRequest Hook in Ihrem Nancy BootStrapper aufrufen.

BootStrapper

%Vor%

Wenn Sie die Antworten mit Fiddler ansehen, sehen Sie, dass der erste Treffer Ihrer statischen Dateien sie mit einem 200 - OK Statuscode herunterlädt .

Danach gibt jede Anfrage einen 304 - Not Modified Status Code zurück. Nachdem eine Datei aktualisiert wurde, lädt sie sie erneut mit einem 200 - OK Statuscode ... und so weiter.

    
biofractal 09.11.2012, 10:41
quelle