在asp.net中为图像生成etags?

时间:2011-10-26 09:40:25

标签: asp.net http-etag

在我的网站上,用户可以上传公开显示的图片。当用户上传新图像时,它会覆盖其中一个旧图像。

因为图像可能很大,我希望它们被缓存。但是,当用户上传新图像时,不应使用旧的缓存图像。

动态图像的来源如下:

userImage.ashx?id=f488b864-0a0b-46d9-af4a-a43cd0dcf751&type=micrositePhoto

因此,如果需要,我可以在.ashx文件中将头部插入响应中。

I've been told为此目的使用etags,但我不知道如何在asp.net中执行此操作。我网站上的.js.css文件已经有了etags,但我不知道是什么产生了它们。此外,任何生成etags的内置系统都可能无法理解我的.ashx文件的工作原理。

如何为我的网站生成etags,并使其按预期工作?

1 个答案:

答案 0 :(得分:1)

在我看来你应该能够做到,例如:

Response.AddHeader("ETag","\"" + Guid.NewGuid().ToString() + "\"");

ETag必须包含在"

注意显然,一旦返回带有图像的ETag,它在后续请求中需要相同。我上面的代码只是一个概念证明。 :)

编辑:是的,刚刚使用Firebug测试并确认,响应标头确实包含我创建的Guid。