ASP.NET - 从单个URL

时间:2016-08-23 05:45:13

标签: asp.net session

我正在尝试在会话之间使用不同的背景图像。因此,如果用户在不同的会话中打开我的网站(例如,关闭并重新打开浏览器或等待半小时),他们将看到不同的背景图像。

以下是我目前正在做的事情。

我创建了一个处理HttpHandler的{​​{1}}类。

首先检查background.axd中是否有一个名为BackgroundIndex的条目,如果没有,它会随机选择我所拥有的图像,而不是将其索引存储到HttpContext.Current.Session中。对象。

然后它将索引与Session标头的值进行比较,如果匹配,只需返回If-None-Match的响应。

如果不匹配,或者请求中没有“If-None-Match”标头,它会将图像文件的内容写入响应并返回,并将304 Not Modified标头设置为索引图像。

最后,我将我网站的背景图片设置为我的CSS文件中的ETag

问题是,它运作正常,但效率不高。

可以从缓存加载当前会话的图像文件。但是,如果会话发生变化,浏览器必须从我的服务器下载图像,即使之前已经下载过。

此外,浏览器还必须提出额外请求,以检查缓存中的图像是否已过期。

对此有更好的解决方案吗?

抱歉我的英语不好。

0 个答案:

没有答案