Вход на хостинг
IT-новости
20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла
Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......
30.07.2015 Ищем уникальный контент для сайта
Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......
Только что мы рассмотрели механизм взаимодействия первого и второго звена в трехзвенной системе. Первым звеном является рабочая станция пользователя, вторым – сервер, на котором установлен IIS. Взаимосвязь этих звеньев осуществляется с помощью одного пользователя. Между вторым и третьим звеном (сервер IIS, процессы, порождаемые из ASP) взаимодействие осуществляется с помощью другого пользователя. Рассмотрим взаимодействие второго и третьего звена подробнее.
При запуске из кода ASP-страницы какого-либо приложения осуществляется взаимодействие между вторым и третьим звеном. IIS порождает процесс, запускаемый от имени другого встроенного пользователя. Поскольку ASP-страница выполняется на сервере, то для запуска приложения необходимы соответствующие права. Управление этой учетной записью пользователя осуществляется в Application Tools (см. рис. 3).
Рисунок 3
Такова первая особенность, касающаяся абсолютно всех приложений. Существует вторая, также характерная для всех приложений.
С помощью ASP-страниц можно вызывать приложения, находящиеся на удаленном компьютере. Некоторые приложения не могут быть запущены на другой платформе. Например, некоторые утилиты, успешно запускающиеся в Windows 2000, выдают сообщение об ошибке на Windows 2003, аналогичная ситуация может возникнуть с приложениями Windows 98, запускаемыми на Windows 2k.
Запуск приложения c графическим интерфейсом
Запуск приложения осуществляется с использованием одного из вышеописанных методов (см. примеры 2, 3). Единственной особенностью является необходимость указывать полный путь к запускаемому приложению. Путь может быть как локальным, например, C:Folder1..., так и сетевым: \ServerC$Folder1...
Запуск приложения из командной строки (command line utility)
В качестве приложения может быть программа, запускаемая из командной строки (command-line utility), приложение для Windows (файл с расширением EXE).
Рассмотрим особенности запуска command-line-приложений из ASP-страниц. Синтаксис команды запуска утилиты из командной строки следующий:
%comspec% /c cmd_util.exe
Префикс %comspec% /c является обязательным. Переменная окружения %comspec% указывает на C:Windows System32cmd.exe. Поскольку при запуске внешней команды порождается процесс CMD, то после отработки команды его необходимо закрыть. Эта процедура осуществляется с помощью ключа /c. Если процессы не закрывать, то в конце концов возникнет недостаток памяти на сервере, что приведет к существенному снижению скорости его работы, а впоследствии к отказу функционирования различных служб компонентов. Путь к утилите также необходимо писать полностью. Допускается использование сетевых имен в формате UNC (\ServerShare...).
Запуск скриптов
Запуск скриптов имеет ряд особенностей. Рассмотрим два вида скриптов, которые, на взгляд автора, используются наиболее часто в данной ситуации: VBS-скрипты и BAT-файлы.
Запуск VBS-файлов из скрипта
Бывают ситуации, когда необходимо из ASP-страницы запустить внешний VBS-скрипт. Как правило, он запускается с параметрами. Рассмотрим кусок листинга VBS-скрипта, касающийся чтения его внешних параметров.
Чтение параметров основано на использовании свойства Arguments объекта WScript WSH. Приведем пример, который определяет, с какими параметрами был запущен скрипт: