【发布时间】:2009-11-10 13:00:32
【问题描述】:
我有一个经典的 ASP 站点,它需要按计划从会话数据中清空一些数据库表。此系统无权访问计划任务(它位于共享网络主机上,并使用 MySQL 服务器)
我正在考虑使用global.asa 来触发这样的事件:
-
Application_OnStart- 从数据库中删除所有会话数据 -
Application_OnEnd- 删除所有会话数据 -
Session_OnStart- 创建用户会话 -
Session_OnEnd- 删除与此会话相关的所有会话数据。
我有什么理由不应该在global.asa 中创建数据库连接?这些将在此处创建和销毁,不会在会话或应用程序范围内共享。我将其视为每个用户(在会话开始和结束时)运行这些管理任务两次并且不会因为它们再次被触发而等同于非常少的数据库流量的一种方式。
任何人对为什么这可能不好有任何想法吗?有什么理由不连接到global.asa 中的数据库?
如果有人认为上述想法很糟糕 - 对于我如何在没有以下一项或多项的情况下定期清空这些表格,您是否还有其他想法:
- 计划任务
- 数据库定时任务
- 在每个页面的页面加载时运行代码(因此有
Session_OnStart挂钩)
塔'
高级椰子
【问题讨论】:
标签: asp-classic database-connection global.asa