如果这是一个愚蠢的问题,请原谅我,我是 ASP 新手。我有一个处理 ASP 页面的虚拟 Windows Server 2012,将它们传递给主机以进行测试。有一个 global.asa 文件,它声明了几个应用程序级变量,尽管它似乎不起作用。我不确定是否需要调用该文件或什么,尽管我在互联网上找不到任何关于调用它的参考。
在 global.asa 中:
<SCRIPT LANGUAGE=VBScript RUNAT=Server>
Sub Application_OnStart
Application("someVar") = "testing..."
'More vars...
End Sub
</SCRIPT>
在 default.asp 中:(或任何其他文件)
Repsonse.Write(Application("someVar"))
什么都不会输出。
但是,如果我像这样预先指定一个值:
Application("someVar") = "testing..."
Repsonse.Write(Application("someVar"))
它将像它应该的那样输出“测试......”。
之后,删除该Application("someVar") = "testing..."
行仍然会输出“testing...”。所以变量被保留了,它只是最初不是由 global.asa 文件设置的。
我还需要做些什么来通过 global.asa 文件初始化它们吗?我的虚拟服务器设置有问题吗?我可能应该提到,通过网络浏览器导航到 global.asa 文件会给我一个 404 错误。我不确定服务器是否试图隐藏它,但我可以确定它与 default.asp 位于同一目录中,浏览器只是拒绝验证这一点。