Переменные приложения Classic ASP не инициализированы
Простите, если это глупый вопрос, я новичок в ASP. У меня есть виртуальная Windows Server 2012, которая обрабатывает ASP-страницы и передает их хосту в целях тестирования. Существует файл global.asa, который объявляет несколько переменных уровня приложения, хотя, похоже, он не работает. Я не уверен, нужно ли мне вызывать файл или как, хотя я не могу найти ссылки на то, чтобы вызвать его в Интернете.
В глобальном.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, браузер просто отказывается это проверять.
2 ответа
Глобальные переменные приложения, определенные в iis, не будут работать, если сайт не задан как приложение.
Вам нужно открыть IIS и настроить сайт как новый сайт.
откройте менеджер iis, разверните имя сервера, разверните "Сайты". Все ваши сайты будут перечислены.
чтобы настроить новый сайт, нажмите "сайты" и выберите "Добавить веб-сайт". Дайте ему имя, выберите его местоположение в браузере и, если необходимо, установите заголовок узла, например, www.mytestdomain.co.uk
ИЛИ (это часто является причиной в тестовых настройках)
Если у вас есть настройки сайта по умолчанию, и это приложение является подпапкой, то вы можете установить эту подпапку как приложение, просто щелкнув правой кнопкой мыши по папке и выбрав "Преобразовать в приложение". нажмите кнопку ОК во всплывающем окне, чтобы подтвердить.
<SCRIPT LANGUAGE=VBScript RUNAT=Server>
Sub Application_OnStart
Application("someVar") = "testing..."
'More vars...
End Sub
</SCRIPT>
Может быть, вы установите переменную someVar в Global.asa после того, как приложение уже запущено! И если так, событие Application_OnStart уже выполнено!!!