Создание etags для изображений в asp.net?
На моем сайте пользователи могут загружать изображения, которые отображаются публично. Когда пользователь загружает новое изображение, оно перезаписывает одно из своих старых изображений.
Поскольку изображения могут быть большими, я хочу, чтобы они кэшировались. Однако, когда пользователь загружает новое изображение, старые кэшированные изображения не должны использоваться.
Источник динамического изображения выглядит так:
userImage.ashx?id=f488b864-0a0b-46d9-af4a-a43cd0dcf751&type=micrositePhoto
Поэтому я могу вставить заголовки в ответ в файле.ashx, если мне нужно.
Мне сказали использовать etags для этой цели, но я не знаю, как это сделать в asp.net. .js
а также .css
файлы на моем сайте уже имеют etags, но я не знаю, что их генерирует. Кроме того, любые встроенные системы для генерации etags, вероятно, не поймут, как работает мой файл.ashx.
Как мне сгенерировать etags для своего сайта и сделать так, чтобы они работали так, как предполагалось?
1 ответ
Мне кажется, что вы должны быть в состоянии сделать, например:
Response.AddHeader("ETag","\"" + Guid.NewGuid().ToString() + "\"");
ETags должны быть заключены внутри "
ПРИМЕЧАНИЕ. Очевидно, что как только ETag возвращается с изображением, оно должно быть таким же при последующих запросах. Мой код выше был просто доказательством концепции.:)
Изменить: Да, только что проверил и подтвердил с помощью Firebug, что заголовки ответа содержат Guid, который я создал.