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?
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.
Tags und Links browser-cache nancy static-content