会话状态与应用程序状态

时间:2017-08-02 16:16:47

标签: .net html5

我目前正在通过他们的HTML5 MTA课程研究.Net。我的书有会话与应用状态的解释:

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

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

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

持久状态信息是会话结束后应用程序需要的数据。许多 Web应用程序需要存储数据(使其持久化),以便用户可以在其中找到数据 他们返回现场后离开了。

'会话结束后应用程序需要的数据' - 你刚刚告诉我会议状态在申请状态之前到来了吗? 我很困惑有人可以帮我解释这两个概念吗?

3 个答案:

答案 0 :(得分:1)

"申请状态" =应用程序的状态,对所有用户都是相同的。

"会话状态" =特定于此特定用户会话的状态。每个用户都有单独的会话状态。

答案 1 :(得分:1)

这实际上不限于.net。

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

答案 2 :(得分:0)

应用程序状态是特定于应用程序的数据。它存储在服务器中,因此可以轻松访问并有助于快速检索。当您有一个需要全局访问且在应用程序的整个生命周期中都存在的变量时,将使用此方法。

会话状态用于维护特定于用户的数据。它存储在服务器或数据库中。这是单个用户全局变量。