5

我正在尝试实现一个具有缓存功能的 Web 应用程序。我需要缓存的原因是我们有一个应用程序可以让用户访问在线课程。现在,一旦用户登录,我就会根据我们的数据库验证他。验证后,我想将用户 ID 和课程 ID 存储在缓存中 20 分钟,这样如果他再次请求,我可以从缓存中检索用户 ID 和课程 ID 的值,如果有效,则为他提供访问权限由于某些原因我不能在此应用程序中使用会话变量,因此它们不是一个选项。

现在,我的应用程序中的缓存代码位于 HTTP 处理程序(.ashx 文件)中。现在我尝试像调用 aspx 页面一样调用缓存对象,但我不能,可能是因为它是处理程序而不是网页。所以,

Cache.Insert("Id", 123); 

在处理程序中不起作用。于是我尝试了 HTTPRuntime.cache。但在做了一些研究后,我发现 HTTPRuntime.cache 对整个应用程序是通用的。我不完全理解“整个应用程序”。这是否意味着它由访问我们应用程序的不同计算机上的所有用户共享?或者这是否意味着它由一台计算机上访问我们应用程序的所有用户共享。因为如果是后者,我可以接受。那么 HTTPRuntime.cache 是一种为一个浏览器(或一台计算机)缓存数据的好方法,还是有一种不同的更好的方法来实现浏览器缓存来存储数据?

4

1 回答 1

6

缓存存储在 Web 服务器内存中。

你应该了解Viewstate、Cache 和 Session 之间的区别

于 2012-06-04T05:57:09.697 回答