演示经典ASP网站的好方法

问题描述:

在经典网站中保存会话变量数据的最佳方式是什么?演示经典ASP网站的好方法

我维持一个经典的网站,并希望能够让我的用户试玩网站的所有功能,这意味着让他们删除记录。

到目前为止,我所看到的衣柜例子是,他们是第一次加载保存数据集会议,并允许用户操作数据Telerik控制的演示。

我该如何在MS Access后端实现ASP?

如果你想在多个页面上保存状态(例如为了演示你完成应用程序),那么它有点棘手。

我建议复制每个会话的MDB文件并使用复制的版本。这将确保每个会话都使用自己的数据。

  • 创建您的Access数据库的一个版本,它将会被用作会话复制每个用户
  • 模板并将其命名为用户会话ID后
  • 使用单个MDB
新模板

注:那么唯一的缺点我能在这里看到的是,你需要删除未使用的MDB文件,因为它可以过一段时间后得到了很多。在创建新任务之前,您可以使用计划任务或甚至在会话开始时执行此任务。

我不知道可以用什么来检查它是否使用与否,但检查文件的创建日期或也许LDF文件可以帮助您以及(如果它不存在=未使用)。

您可以存储在会话变量连接或包容性的一个对象就你还记得你在存储检索时是什么样的变量。我从来没有在会话变量中存储过数据集,但我在会话变量中存储了大量数组,因此您可以使用ADO Getrows method将完整的数据集定位到会话变量中。

Access数据库有多大?如果您的数据库足够小(相对于服务器容量,预期的用户数量等等),那么我喜欢为每个运行演示的用户使用数据库的新副本。

使用此方法,可以简化可能的代码路径。否则,这个“我们是否处于演示模式?”逻辑将渗透到你的很多代码中。

我会做这样的......

  1. 当用户开始演示,使Access数据库的副本,以便用户使用。如果您的数据库是foo.mdb,请将其复制到/tempdb/foo_1234567890.mdb,其中1234567890是用户的会话标识。

  2. 更改用户的连接字符串以指向新的数据库副本。从这一点开始,您的应用程序可以像“普通”一样运行,而无需进一步修改。

  3. 具有调度任务删除/ tempdb中的所有文件最后修改时间比过去__小时。如果您无法在服务器上安排任务(也许您处于共享主机环境等),那么您可以在执行第1步的同时执行此操作。