У меня есть страницы ASPX, но все содержимое генерируется руками (да, я знаю, что мне нужно сделать обработчик, у меня есть еще один вопрос)Проблема с кэшированием
Я хочу кэш вывода в браузере клиента. Проблема в том, что он кэшируется только для одного запроса.
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();
}
Становится претати грязным. Как я уже говорил, он кэшируется только один раз. После приема HTTP 304 браузер отправит чистый запрос без кэширования информации (etag, lastmodified). Есть идеи?
извините за мое отсутствие (я в отпуске) Я думаю, вы правы. проблема в кавычках – AlfeG