J'ai une page ASPX, mais tout le contenu est généré par les mains (oui je sais que je dois faire un gestionnaire, j'ai une autre question)problème avec la mise en cache
Je veux un cache de sortie dans le navigateur client. Le problème est qu'il est mis en cache uniquement pour une requête.
public static void ProceedCaching(string etag, string lastModify, string response, HttpResponse Response,
HttpRequest Request)
{
Response.AddHeader("ETag", "\"" + etag + "\"");
Response.AddHeader("Last-Modified", lastModify);
Response.AppendHeader("Cache-Control", "Public");
Response.AppendHeader("Expires",
DateTime.Now.AddMinutes(1).ToUniversalTime().ToString("r",DateTimeFormatInfo.InvariantInfo));
string ifModified = Request.Headers["If-Modified-Since"];
if (!string.IsNullOrEmpty(ifModified))
{
if (ifModified.Contains(";"))
ifModified = ifModified.Remove(ifModified.IndexOf(';'));
}
string incomingEtag = Request.Headers["If-None-Match"];
if (String.Compare(incomingEtag, etag) == 0 || string.Compare(ifModified, lastModify) == 0)
{
Response.StatusCode = 304;
Response.End();
}
Response.Write(response);
Response.End();
}
est devenu compliqué. Comme je l'ai dit, il est mis en cache qu'une seule fois. Après réception, le navigateur HTTP 304 enverra une requête propre sans mise en cache des informations (etag, lastmodified). Vous avez des idées?
désolé pour mon absence (je suis en vacances) je pense que vous avez raison. problème dans les citations – AlfeG