baserunner

用户会话

baserunner通过服务器上的数据库来操纵与管理会话,会话用于跟踪用户对baserunner的一次又一次的调用。当应用程序第一次调用baserunner时,自动创建会话数据库(也可以在任何时候通过删除文件并运行程序来重建数据库)。如果没有设置_sessionpath变量,会话数据库将放在与baserunner相同的执行文件相同的目录之中,如果指定的则放在指定的目录之中。包含会话数据库的目录必须具有写权限。

会话数据库具有与执行文件相同的文件名(通常是baserun.dbfg与baserun.fpt或baserun.dbf)。如果你将数据库从Foxpro切换到dBase环境(或vice-versa),删除会话数据库,然后运行程序。

当程序运行时,就创建一个用户会话,此时给用户赋予一个唯一的名字,这个名字将在以后的调用中传递给应用程序。

会话周期由_minutes变量指定,其缺省值是10分钟。这表示baserunner将对每个会话维持10钟。例如,如果会话持续了15分钟,则它将会过期。

每次启动一个会话时,所有的记录都将被作上当前的时间标志。已经过期的会话将被作上删除标志。如果数据库没有过期的会话,则加上一个新的记录。如果包含过期的会话记录,新的会话将覆盖第一个过期的记录。如果所有的记录都过期,则重建会话数据库,并且新的会话记录将成为数据库的第一个记录。如果一个过期的记录没有被新的会话覆盖,它仍然是可以使用的。

会话数据库的格式如相:

字段 类型 描述
session memo 用户会话ID
cfg memo 程序启动时传递的配置文件名
curr_html memo 当前显示所使用的模板文件名
curr_dbf memo 当前使用的数据库名
sortorder memo 数据库排序表达式
filterset memo 当前查询表达式
oldfilter memo 上一次的查询表达式
list memo 当前使用的列表cache
total memo 当前使用的汇总值Cache
unique memo 当前使用的唯一列表Cache
time numeric 当前使用的程序的实例的时间
length numeric 配置文件中_minutes的值
currentpos numeric 当前选中的记录值
display numeric 当前的_display值
rcount numeric 当前查询返回的记录数
newfilter logical 当创建了一个新的过滤表达式时本变量被设为True