我试图用缓存功能来实现一个Web应用程序。我需要缓存的原因是我们有一个让用户访问在线课程的应用程序。现在,一旦用户登录,我会根据我们的数据库验证他。一旦验证,我想将用户ID和课程ID存储在缓存中20分钟,以便如果他再次请求它,我可以从缓存对象中检索值,包括用户ID和课程ID,如果有效,则允许他访问 由于某些原因,在这个应用程序中使用会话变量,所以它们不是一个选项。HttpRuntime.Cache在哪里存储数据?
现在,我的应用程序中的高速缓存代码位于HTTP处理程序(.ashx文件)中。现在我尝试调用缓存对象,就像你为一个aspx页面做的一样,但我不能,可能是因为它是一个处理程序而不是一个网页。 所以,
Cache.Insert("Id", 123);
将无法在Handler中工作。所以然后我尝试HTTPRuntime.cache。但是在做了一些研究之后,我发现HTTPRuntime.cache对于整个应用程序来说是很常见的。我不完全理解“整个申请”。这是否意味着它是由访问我们应用程序的不同计算机上的所有用户共享的?或者是否意味着它被所有用户一台电脑访问我们的应用程序共享。因为如果是后者,我可以。 那么HTTPRuntime.cache是缓存一个浏览器(或一台计算机)数据的好方法,还是有更好的方法来实现浏览器缓存来存储数据?
缓存和SessionState是两个完全不同的东西。你不能交替使用它们。这听起来像你正在寻找一个持久的sessionstate。通常情况下,人们只会将数据保存在数据库中。 – leppie
我没有交替使用它们。我试图实现缓存解决方案来存储20分钟的用户数据。所有我想知道的是,如果HTTPRuntime.Cache浏览器(或计算机特定)或对于在不同计算机上工作的应用程序的所有用户通用 –