我有一个使用无cookie会话的asp.net Web应用程序(即会话ID在网址中,而不是在cookie中)和主题。 使用主题,对css文件的引用将包含在发送给客户端的HTML中,其中包含会话ID,如:
http://website/(S(12344jkjl232343)/app_themes/folder/site.css
如果css使用相对于css位置的路径引用图像,那么这些图像也将通过包含会话ID的URL进行检索。
由于每次登录后会话ID都会更改,因此客户端始终必须至少在会话开始时从服务器请求一次css文件,并且不能使用本地浏览器缓存。
有没有一种简单的方法让asp.net插入没有会话ID的资源文件的链接,以便重复访问者能够使用他们的本地浏览器缓存?
寻找快速,简单/低风险的方式。也就是说,更简单(并创建一个更小的重新测试表面),而不是首先使用主题,这将是中期计划。
谢谢!
答案 0 :(得分:1)
因此,如果您使用的是无Cookie会话,我推断用户将始终位于同一网站中。
如果他们在同一个网站上,则无需通过http发送主题。而是将主题存储在会话(内存)中。
// store the selected theme
this.Session["theme"] = "/app_themes/folder/site.css";
或创建一个表,只存储id
// store the selected theme
this.Session["Themeid"] = "1";