现在我正在读一本书并在书中说:
“会话状态和应用程序状态都用于存储少量不经常更改的不安全全局信息”
基于此,我有五个问题:
在MVC4中我们可以通过HttpContext.Session访问会话,有什么区别 介于此和HttpContext.Current.Session?
用于什么应用程序状态?
会话和应用程序状态之间的实际区别是什么?
我们无法在会话中存储但只存储在服务器数据库中的用户信息?
许多浏览器端cookie已被禁用,这是否意味着在开发Web应用程序时不再使用cookie?
我希望这不仅有助于我,也会帮助其他人看到这个
欢迎任何建议!
答案 0 :(得分:2)
没有区别。当您不在视图上时使用HttpContext.Current.Session
。
用于存储适用于所有用户的应用程序范围的信息。一次只有一个,所有用户的值都相同。
会话属于用户级别。应用程序是系统范围的。如果您需要保留特定于用户的信息,请使用会话。如果所有用户的值都相同,请使用Application。
不确定您的意思
答案 1 :(得分:2)
ApplicationState
如果用于在与具体用户会话关联的不同Session
对象之间共享数据Session
中存储的对象只能访问在该会话下运行的请求(它们在URL中具有会话cookie或标识字符串)。另一方面,存储在Application
中的对象随处可用(例如在global.asax
中)并且不依赖于当前用户。Session
中以未加密的格式存储信用卡信息或社会安全号码或密码。另一方面,我也不会将它们以未加密的方式存储在数据库中。顺便说一下,SessionState
可以配置为驻留在数据库中,从而在不同的机器之间共享。