Output caching in HTTP-Handler und SetValidUntilExpires

Ich bin mit der Ausgabezwischenspeicherung in meine benutzerdefinierte HTTP-handler in der folgenden Weise:

    public void ProcessRequest(HttpContext context)
    {
        TimeSpan freshness = new TimeSpan(0, 0, 0, 60);
        context.Response.Cache.SetExpires(DateTime.Now.Add(freshness));
        context.Response.Cache.SetMaxAge(freshness);
        context.Response.Cache.SetCacheability(HttpCacheability.Public);
        context.Response.Cache.SetValidUntilExpires(true);
        ...
    }

Es funktioniert, aber das problem ist, dass das aktualisieren der Seite mit F5-Taste führt Sie auf die Seite regeneration (statt cache-Auslastung) trotz der letzten codeline:

context.Response.Cache.SetValidUntilExpires(true);

Irgendwelche Vorschläge?

UPD: Scheint die Ursache des Problems ist, dass die HTTP-handler Reaktion nicht Zwischenspeichern auf dem server. Der folgende code funktioniert gut für web-form, aber nicht für hf:

        Response.Cache.SetCacheability(HttpCacheability.Server);

Gibt es einige Besonderheiten der caching das http-handler Reaktion auf den server?

InformationsquelleAutor mayor | 2010-06-08
Schreibe einen Kommentar