在我的网站上,用户可以上传公开显示的图片。当用户上传新图像时,它会覆盖其中一个旧图像。
因为图像可能很大,我希望它们被缓存。但是,当用户上传新图像时,不应使用旧的缓存图像。
动态图像的来源如下:
userImage.ashx?id=f488b864-0a0b-46d9-af4a-a43cd0dcf751&type=micrositePhoto
因此,如果需要,我可以在.ashx文件中将头部插入响应中。
I've been told为此目的使用etags,但我不知道如何在asp.net中执行此操作。我网站上的.js
和.css
文件已经有了etags,但我不知道是什么产生了它们。此外,任何生成etags的内置系统都可能无法理解我的.ashx文件的工作原理。
如何为我的网站生成etags,并使其按预期工作?
答案 0 :(得分:1)
在我看来你应该能够做到,例如:
Response.AddHeader("ETag","\"" + Guid.NewGuid().ToString() + "\"");
ETag必须包含在"
注意显然,一旦返回带有图像的ETag,它在后续请求中需要相同。我上面的代码只是一个概念证明。 :)
编辑:是的,刚刚使用Firebug测试并确认,响应标头确实包含我创建的Guid。