在经典ASP中,每天午夜更新应用程序变量

本文关键字:午夜 更新 应用程序 变量 每天 经典 ASP | 更新日期: 2023-09-27 18:09:57

我有一个经典的ASP应用程序,它将连接字符串存储为应用程序变量,并在Application_OnStart()事件中初始化。

我想改变这个连接字符串,每午夜,并有它指向其他数据库。

我想到了一些东西,比如有一个XML的连接字符串,使用c# EXE与任务调度器来改变这一点,然后重新启动IIS,最后从Application_OnStart()中的XML中读取修改的连接字符串,但我不希望用户丢失他们的会话。也有大量的地方,这个连接字符串正在使用,所以我不能想到添加逻辑来读取XML在每个这些地方(与c# COM组件)。

有什么方法可以做到这一点吗?是否有任何存储/事件等,使用在哪里我可以存储这个连接字符串和更新它,而无需重新启动应用程序?

在经典ASP中,每天午夜更新应用程序变量

当您的应用程序启动时,您可以在配置文件中添加一个文件系统监视器,当它被更改时将被触发。在该事件处理程序中,您可以修改表示连接字符串的变量。

然后你可以在任务调度程序中修改你的可执行文件。

您可以使用使用代码修改的应用程序级变量-我不认为它会重置用户的会话:

<%@ Language="VBScript" %> 
<% 
Application.Lock  
Application("ConnString") = "new connection string"
Application.Unlock  
%>

您可以制作一个ASP页面来完成更改。如果这是可以自动化的事情,你可以写一些简单的东西来调用该页面并安排它。