Переменные приложения 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 уже выполнено!!!

Другие вопросы по тегам