gpt4 book ai didi

ASP.NET 在多个页面 session 之间传递数据

转载 作者:行者123 更新时间:2023-12-02 15:32:17 26 4
gpt4 key购买 nike

因此,对于如何在多个页面之间传递数据的问题似乎没有任何漂亮的答案。做了一些功课后,这就是原因(或者至少是我收集到的):

  1. ViewState 变量不会跨页面持续存在。
  2. session 变量是不稳定的,必须谨慎使用。
  3. Cookie 存在潜在的安全问题,需要时间,而且必须保持较小。
  4. 在网址中存储变量会限制数据量,并且可能不安全。
  5. 将变量临时存储在数据库中是一个真正的皮塔饼,因为您为每个对象添加一个表,该表可能会传递到另一个页面。

    到目前为止,我似乎将使用隐藏字段将 keyid 和唯一 id 传递到下一页,然后从数据库检索数据。您对这一切有何看法?做这件事的最佳方法是什么?我处于此应用程序开发的早期阶段,因此最好立即进行更改。

编辑:我预计任何时候都会有很多用户使用此应用程序,这是否会影响我是否应该使用基于 SQL Server 的 session ?

最佳答案

如果您想保留状态,可以将其存储在数据库中,因为您不必担心过期。 Session 类似,只是您必须担心 Session 过期。在这两种情况下,将相似数据写入同一区域的并发调用可能会导致问题,需要加以考虑。

当您不必担心多个 Web 服务器或超时问题时,

Session 非常有用。数据库为您提供了更高的可扩展性,但代价是进行大量数据库读/写,并且您必须考虑清理。

我个人会尝试使用以下决策树:

  1. 数据是否简单、简短且不私密 -> 查询字符串
  2. 数据是不是不太简单但只需要存在很短的时间 -> session
  3. 是否需要跨多个区域并长期持久保存数据 -> 数据库

当然,还有更多内容,但这应该为您提供考虑因素的基本概述,因为您才刚刚开始。把事情简单化。如果简单的查询字符串就足够了,请不要尝试过度设计解决方案。只要您保持开始时的简单性,您总是可以在后期进行过度设计。

关于ASP.NET 在多个页面 session 之间传递数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5120798/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com