Рекомендуется: знание о расширенных объектах ошибки ASP для приложения ASP В VBScript существует оператор OnerRorResumenext, который заставляет интерпретатора скрипта игнорировать ошибки времени выполнения и продолжить выполнение кода скрипта. Затем скрипт может проверить значение свойства err.number, чтобы определить, произошла ли ошибка. Если возникает ошибка, возвращается ненулевое значение
4.2.3 Примеры инструкций на стороне сервера, содержащих
В этом разделе представлены некоторые образцы страниц, которые можно использовать для экспериментов с различными серверными, содержащимися операторами. Откройте подкаталог образца веб -страницы Глава 04, отображая директивы SSI и домашнюю страницу объекта ASP (т.е. по умолчанию.
Все примеры этой книги можно загрузить с нашего веб -сайта. Читатели найдут все образцы страниц для остальной части этой главы в главе 04, пример подкаталерию.
1. Используйте SSI/CGI для обработки инструкций
Нажмите на ссылку, чтобы ввести страницу Server Side Incule и CGI, которая откроет страницу SSI_CGI.STM. Следует отметить, что расширение файла этой страницы является .STM, что указывает на то, что это не веб -страница ASP. На этой странице используются все инструкции SSI, за исключением инструкции #Exec (которая будет выявлена позже), обсуждаемые ранее, и отображает методы использования и результаты инструкций, как показано на рисунке 4-4:
Рисунок 4-4
(1) #include Command
Начало страницы включает файлы с SSI, отображает содержимое другого отдельного файла с именем intro.inc. Вот полное содержание файла:
Обратите внимание, что мы должны использовать записи HTML <и> для отображения угловых кронштейнов на веб -странице. Если они не сделаны, они не могут рассматриваться как часть элемента аннотации и привести к выполнению инструкций в нем.
На основной странице ssi_cgi.stm код для вставки этого файла в страницу очень прост:
<!-#include file = intro.inc->
(2) #config, #fsize и #flastmod Директивы
Следующая часть страницы показывает размер файла default.asp в том же каталоге, что и на странице, и в последний раз, когда он был изменен. Директива #Config использовалась здесь три раза:
· Однажды набор сообщений об ошибке SSI.
· Когда -то формат даты и времени.
· Однажды установите формат расчета размера файла.
Используйте директивы #FSize и #FiastMod, чтобы вставить значение в веб -страницу:
<p> <div class = subhead> операторы SSI </div>
<!-#config errmsg = ошибка обработки SSI->
(Устанавливает сообщение об ошибке в случае ошибки SSI) <br>
<!-#config errmsg = ошибка обработки SSI-> <p>
Подробная информация файла 'default.asp': <br>
<!-#config sizefmt = bytes->
(Устанавливает Fsize для возврата размера в байтах) <br>
<!-#config sizefmt = bytes->
<!-#fsize file = default.asp->
Возврат: <b> <!-#fsize file = default.asp-> Bytes </b> <br>
<!-#Config TimeFMT = %a, %b %d %y %h: %m: %s->
(Устанавливает формат для результатов даты/времени) <br>
<!-#Config TimeFMT = %a, %b %d %y %h: %m: %s->
<!-#flastmod file = default.asp->
Возврат: <b> <!-#flastmod file = default.asp-> </b> <p>
(3) команда #ECHO
Последняя часть страницы (только часть можно увидеть на экране) показывает содержимое всех заголовков HTTP, к которым можно получить доступ с помощью директивы #ECHO. Код в каждой строке одинаков, за исключением того, что значение свойства var изменяется. Полный список всех разрешенных значений для атрибута VAR приведен в Приложении G.
<Div class = subhead> http переменные </div>
<!-#echo var = auth_type->
Возврат: <b> <!-#echo var = auth_type-> </b> <br>
<!-#echo var = auth_password->
Возвращает: <b> <!-#echo var = auth_password-> </b> <br>
… и т. д…
2. Используйте директиву #Exec
Директива #Exec труднее использовать, чем другие директивы SSI, и из -за этого она находится независимо на другой странице. Страница запуска может быть доступна из основного меню Directives Directives и Directives SSI.
На этой странице выберите «Использование сервера #ECHO Server», включите ссылку директив. Эта операция открывает страницу директивы SSI #Exec
Директива SSI #Exec Web Page
Это веб -страница ASP SSI_EXEC.ASP. Две кнопки используются для открытия страницы .stm, которая выполняет действия, описанные в директиве #Exec.
(1) Запустите этот пример на сервере
Перед тем, как пример директивы SSI #Exec может работать на сервере, некоторые конфигурации должны быть изменены. Во -первых, вам необходимо создать запись SSienableCmdiRective (тип DWORD) в реестре веб -сервера, с местоположением под именем ключа:
Hkey_local_machine/system/currentControlset/services/w3svc/параметры
Затем установите значение на 1
Это позволяет использовать директиву #Exec с атрибутом CMD.
Во -вторых, анонимный доступ должен быть запрещен для каталогов, содержащих файлы .stm с использованием директивы #Exec. Клиент будет вынужден предоставить подробную информацию о учетной записи, которая должна быть учетной записью с разрешениями на уровне администратора. Это также является требованием для чистой команды для работы нормально.
Активируйте приложение Internet Services Manager и выберите каталог, содержащий файлы .stm с помощью директивы #Exec (в примере эти файлы являются start_cisvc.stm и stop_cisvc.stm в каталоге EXEC). Затем откройте диалоговое окно «Свойства» для этого каталога. Нажмите кнопку «Редактировать» в области анонимного доступа и аутентификации на вкладке «Безопасность каталогов», чтобы открыть диалоговое окно «Методы аутентификации».
Флажок Anonymous Access не выбран в этом диалоговом окне. Если вы не используете Internet Explorer для доступа к странице, откройте базовую опцию аутентификации, чтобы позволить браузерам, не имеющим браузеров, добраться до страницы, отправив имя пользователя/пароль. При настройке появляется предупреждение о безопасности, нажмите «Да». Браузер теперь будет вынужден показать соответствующую учетную запись и сертификат личности, потому что страница не может быть доступна анонимно.
Чтобы увидеть результаты запуска и завершения обслуживания, откройте плагин MMC MMC и прекратите службу индексации
(2) Запустите и прекратите службу индексации
Нажмите кнопку на примере веб -страницы, чтобы запустить службу индексации Microsoft.
Краткое имя этой службы - CISVC, который обычно называют Microsoft Index Server, а символ CI в имени фактически представляет индексера содержимого.
При запросе введите имя пользователя и пароль учетной записи с привилегиями администратора на веб -сервере. Когда страница (start_cisvc.stm) откроется, вы почувствуете определенную задержку, поскольку директива #Exec загружает экземпляр интерпретатора команды Window (cmd.exe), а затем выполняет команду Net Start. Как только служба начнется (или, если она уже работает), остальная часть страницы будет отображаться
Интерфейс отображается после ввода имени пользователя и пароля
Код для этой страницы очень прост. Вы можете видеть, что директива #Exec имеет свойство CMD, которое установлено на CMD.Exe /C Net Start CISVC. Форма содержит кнопку отправки, чтобы вернуться на предыдущую страницу:
<p> Обработка директивы SSI: </p>
<p> <b> <!-#exec cmd = cmd.exe/c net stop cisvc-> </b> </p>
<!-#Exec cmd = cmd.exe /c net stop cisvc->
<Form action = ../ssi_exec.asp>
<Input type = spect name = cmdok value =>
Вернуться на предыдущую страницу <p>
</Form>
Вы можете открыть другие веб -страницы .STM с предыдущей страницы, такие как STOP_CISVC.STM, чтобы снова завершить службу, единственное отличие состоит в том, что команда Net Stop используется вместо команды Net Start.
…
<!-#Exec cmd = cmd.exe /c net stop cisvc->
…
Share: Пример объясняет, как использовать установленные записи отключения в ASP Когда мы используем встроенные компоненты ASP для программирования базы данных, мы обычно открываем соединение в начале сценария и закрываем его в конце сценария, но для более крупных сценариев соединение открыто гораздо дольше, чем его необходимо открыть. Поэтому