Application对象何时重置?

时间:2015-12-07 18:36:00

标签: asp-classic

如果我在Application对象中放入一个字符串,何时删除它?

我想在其中缓存一个连接字符串,但是如果我更新它,我将需要更换对象中的实例。

1 个答案:

答案 0 :(得分:1)

应用程序级变量非常适合存储Web应用程序配置信息。

他们能坚持多久?

Application变量持续Web应用程序的持续时间,这意味着只有停止Web应用程序才会重置它们。

列表中的所有内容都会导致Application对象重置。

  • 在IIS中手动停止Web应用程序。
  • 停止万维网发布服务。
  • 重新启动Web服务器。

更新怎么样?

长寿的一个缺点是更新需要重新启动Web应用程序。幸运的是,虽然有办法解决这个问题。

会话

使用Web应用程序根目录中的global.asa文件,我们可以利用Session_OnStart()事件触发Application变量的更新。

Sub Session_OnStart
  'Make sure multiple sessions aren't trying to update the value of
  'Application("ConnString") at the same time.
  Application.Lock
  Application("ConnString") = "..."
  Application.Unlock
End Sub

使用脚本进行更新

如果不希望Session,您只需手动调用更新。

Application.Lock
Application("ConnString") = "..."
Application.Unlock