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