HttpRuntime.Cache在哪里存储数据?

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

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

Cache.Insert("Id", 123); 

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

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

您应该了解Viewstate,Cache和Session之间的区别