如果這是一個愚蠢的問題,請原諒我,我是ASP新手。我有一個虛擬的Windows Server 2012處理ASP頁面,將它們傳遞給主機進行測試。有一個global.asa文件聲明瞭幾個應用程序級別的變量,儘管它似乎沒有工作。我不確定是否需要調用該文件或什麼,儘管我找不到在互聯網上調用它的任何參考。未初始化的經典ASP應用程序變量
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..."
行仍然會輸出「測試...」。所以這個變量被保留下來了,它並沒有被global.asa文件初始化。
我還需要通過global.asa文件來初始化它們嗎?這是我的虛擬服務器設置的問題嗎?我應該提到通過網絡瀏覽器導航到global.asa文件給我一個404錯誤。我不確定服務器是否試圖隱藏它,但我確信它與default.asp位於同一目錄中,但瀏覽器拒絕驗證這一點。
根據[w3schools](http://www.w3schools.com/asp/asp_globalasa.asp)(是的,我知道),只要您修改Application_OnStart子例程,就需要重新啓動服務器。 –
這是我忽略的,但重新啓動似乎沒有幫助。它確實清除了我在global.asa文件之外手動設置的變量(這很合理)。但是他們仍然沒有初始化,因爲global.asa會指出。 – Doug
官方文檔是[here](http://msdn.microsoft.com/。com/en-us/library/ms525316%28v = vs.90%29.aspx)和[this SO question](http://stackoverflow.com/questions/559076/global-asa-where-does-it-屬於)可能會有幫助。 –