0

我有一个使用 cookieless 会话(即会话 ID 在 url 中,而不是在 cookie 中)和主题的 asp.net Web 应用程序。使用主题,对 css 文件的引用将包含在发送给客户端的 HTML 中,其 url 包含会话 id,例如:

http://website/(S(12344jkjl232343)/app_themes/folder/site.css

如果 css 使用相对于 css 位置的路径引用图像,则将通过包含会话 ID 的 URL 检索这些图像。

由于每次登录后会话 id 都会更改,因此客户端将始终必须在会话开始时至少向服务器请求一次 css 文件,并且无法使用本地浏览器缓存。

有没有一种简单的方法让 asp.net 插入没有会话 ID 的资源文件的链接,以便重复访问者能够使用他们的本地浏览器缓存?

寻找一种快速简单/低风险的方式。也就是说,比首先放弃使用主题更简单(并创建更小的重新测试表面),这将是中期计划。

谢谢!

4

1 回答 1

1

因此,如果您使用的是无 cookie 会话,我推断用户将始终位于同一个网站中。

如果它们在同一个网站中,则不需要通过 http 发送主题。而是将主题存储在会话(内存)中。

// store the selected theme
this.Session["theme"] = "/app_themes/folder/site.css";

或创建一个表并只存储那里的 id

// store the selected theme
this.Session["Themeid"] = "1";
于 2012-05-31T19:31:11.130 回答