【问题标题】:ASP Classic secure and performance practice for storing global information用于存储全局信息的 ASP Classic 安全和性能实践
【发布时间】:2013-12-23 22:04:07
【问题描述】:

我一直在应该是临时 ASP Classic 站点中使用硬编码的包含来存储系统参数的常量。这些也存储在 SQL Server 数据库的配置表中。

我将再维护这个系统 6 个月,所以我想知道我是否应该切换回使用 Global.ASA(该站点不在农场并且永远不会),或者开始绘制设置每次需要时从数据库中获取。

我将存储小块数据,例如: 学期 开始日期 结束日期 键1 键2 键3 键4

我可以在登录时为每个用户在 Session 中设置这些,可以将它们设置为 Global.Asa 中的 Application("") 变量,或者在每次需要它们时从数据库中提取它们。

当我开始担心性能和存储全局变量时,我认为我过度设计了一些东西。

对于必须存在一段时间的应用来说,有什么好的方法可以做到这一点?

【问题讨论】:

  • 如果真的只有六个月的时间(听起来可能更多),请继续使用正在运行或当前设置的内容。如果它不难维护,那为什么要改变它呢?如果难以维护,请权衡使用当前配置进行维护之间的时间与整合全局参数的时间。至于数据库或 global.asa,对于这种情况,我认为这并不重要。如果有的话,为什么会有额外的数据库调用?我想另一个问题是,我们在谈论多少个值,它们有多大?
  • 你可能是对的。大约有 10 个值,最大值,它们在那里。它们大多是短字符串和整数。

标签: asp-classic global-variables


【解决方案1】:

如果您真的想进行更改,那么我建议您将它们作为键值对存储在数据库中(键列和值列),将它们(动态)加载到 ASA 中的应用程序变量中,并将管理 CRUD 接口公开给管理它们并重新加载它们。这是实现这一点的最未来证明和性能明智的方式。我在许多经典的 ASP 网站上都使用这种模式取得了巨大的成功。

【讨论】:

    【解决方案2】:

    由于只有 10 个相对较短的变量,我建议保留它们原样,除非更新设计会在将来需要更新值时为您节省时间。

    鉴于您所规划的应用程序用途和未来,我建议仅使用 global.asa 作为值。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-03-30
      • 2019-12-19
      • 1970-01-01
      • 2019-12-31
      • 1970-01-01
      • 2011-03-27
      • 2015-07-05
      • 2015-08-05
      相关资源
      最近更新 更多