我将数据存储在
中 HttpContext.Current.Application.Add(appKey, value);
通过这个读取数据:
HttpContext.Current.Application[appKey];
这对我来说有一个优点,即使用键值但是在短时间(大约20分钟)后它不起作用,我找不到[appKey],因为iis数据中的应用程序生命周期将会失去。 我想知道另一种按键和值存储数据的方法吗? 我不想要sql server,file,...并希望在服务器上存储数据而不是客户端
我将用户的一些数据存储在其中。
感谢您的帮助
答案 0 :(得分:3)
由于IIS可以随时回收并丢弃任何缓存/内存内容,因此保留数据的唯一方法是将其存储在IIS之外。一些例子是; (是的,我收录了你说过你并不想让列表更完整的那些,随意跳过它们)
答案 1 :(得分:0)
您可以在用户的计算机上创建一个持久性cookie,以便会话不会过期,或者将会话超时增加到一个更适合您的情况/用户的值
答案 2 :(得分:0)
您谈论的是将数据保留在会话范围之外。因此,您将不得不使用某种形式的持久存储(数据库,文件,缓存服务器)。
您是否考虑过使用AppFabric?它实际上很容易实现。您可以使用nuget包直接从代码访问它,也可以将其配置为会话存储。 (我认为)做后者意味着你要摆脱会话超时问题。
答案 3 :(得分:0)
您是否了解无论您决定在应用程序中存储什么内容,您的应用程序中的所有用户都可以使用?
现在关于您的实际问题,您计划存储哪种数据?如果是用户敏感数据,那么将它存储在会话中可能是有意义的。如果它是客户特定的并且它不包含任何敏感信息,那么cookie可能是合理的前进方式。
如果它确实是一个应用程序范围的数据,并且它对于您的应用程序的每个用户必须是相同的,那么您可以进行配置更改以确保它在20分钟后不会过期。