会话状态与应用程序状态

马修·麦克劳德

我目前正在通过他们的HTML5 MTA课程研究.Net。我的书对会话与应用程序状态进行了这样的解释:

状态管理是在多次请求相同或不同Web页面期间维护Web页面信息的过程。当用户首次请求访问应用程序时,将创建会话状态。当用户关闭会话时,状态结束。

这使我感到困惑,因为他们似乎在说同样的话。
对应用程序的请求=会话状态
对网页的请求=应用程序状态
网页不是应用程序吗?

然后,将持久状态信息描述为:

持久状态信息是会话结束后应用程序需要的数据。许多Web应用程序都需要存储数据(使其具有持久性),以便用户可以在返回站点时从上次中断的地方接机。

“会话结束后应用程序需要的数据”-您只是告诉我会话状态早于应用程序状态?
我很困惑,有人可以帮我解释这两个概念吗?

比约恩·坦道

实际上,这不仅限于.net。

  1. 应用程序状态是应用程序运行时RAM中的状态。对于某些服务器端语言,该应用程序仅针对一个请求运行,对于其他服务器,其运行直到停止相应的服务器进程为止。在后一种情况下,许多用户共享应用程序状态。
  2. 会话状态是与特定用户相关联的。在大多数情况下,它存储在文件系统或数据库中,并通过存储在会话cookie中的密钥进行检索。使用此键,应用程序可以检索会话数据并对其进行操作。当用户关闭浏览器时,会话cookie被删除,因此会话数据无法再获取。我们称会话结束。实际数据将必须通过其他方式(例如cron脚本)定期清除。
  3. 持久数据是使用或多或少已知的密钥存储在数据库或文件系统中的数据。就像用户名或页面ID。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

为什么视图状态、会话和应用程序状态被认为对 Web 应用程序不利?

测试Django应用程序Cookie,会话和状态

应用程序为无状态时的会话Bean

会话状态作为应用程序中的页面

如果应用程序保持空闲状态,如何使会话超时

会话停留在会话状态的分布式应用程序的SQL Server Service Broker

如果REST应用程序应该是无状态的,那么如何管理会话?

有什么方法可以在tomcat中的不同应用程序之间共享会话状态?

EJB 3:从应用程序客户端访问有状态会话Bean

ASP.NET在应用程序数据库中存储会话状态

关闭应用程序后,SQL Server会话保持打开状态

Redux :(域数据和)应用程序状态与UI状态

有状态应用程序的 Kubernetes 部署

颤动文件存储应用程序状态

从后台线程检索应用程序状态?

Redux中的应用程序与本地状态

保存Android应用程序状态

如何扩展NodeJS状态应用程序

在应用程序中保存CheckBox状态

Redux-依赖应用程序状态

无法更新反应应用程序的状态

清除应用程序的状态存储

Spring应用程序-非法状态异常

JSF Servlet 异常:当应用程序会话在服务器之间跳转时没有视图保存状态

为什么我应该在ASP .Net MVC应用程序中使用HTTPContext会话状态来移走表格?

具有SQL Server应用程序角色的C#:由于会话处于终止状态,因此无法继续执行

保存Web应用的会话状态

重新启动有状态服务结构应用程序

当需要恢复应用程序的状态时,使用哪种模式?