ПредишенСледващото

Характеристики на изпълнение на външни команди
на ASP-страници

-Активни страници сървър

Кодът, който е между <% и %>, Тя работи на сървъра и е подчинен на синтаксиса на един от избраните езици. В останалата част от кода е HTML-страница изрично.

Обява типичен ASP страница изглежда така:

<%@ Language=VBScript CODEPAGE=1251%>

Заглавието на страницата

Response.Write променлива "се показват на екрана на съдържанието на променливата

След обработка на IIS преводач код и трансформиране на резултатите от работата си в HTML / DHTML е необходимо да се даде указание да се покаже страницата в браузъра на клиента. Тази команда е Response.Write Q, където Q - името на променливата, която съдържа HTML-фрагмент от кода.

Методи за работа приложения от VBS

Помислете за оспорването на молбата директно от файла VBS и можете да използвате един от методите - Пусни или Exec. Трябва да се отбележи, че няма функция VBScript, който може да се използва, за да стартирате приложения, но тя съществува в момента WSH, която подкрепя VBSscipt и JScript. Създаване на WSH обект, например чрез използване Създаване команда Object ( "WScript.Shell").

Задайте Wshell = CreateObject ( "Wscript.shell")

Определете Proc = Wshell.Exec ( "application.exe")

"Изчакайте, докато завършат програмата

Смятате Докато Proc.Status = 0

Задайте Wshell = Нищо

Задайте Wshell = CreateObject ( "Wscript.shell")

Определете Proc = Wshell.Run ( "application.exe")

Задайте Wshell = Нищо

За да се поддържа успешно различните приложения на ASP страници трябва да се разглеждат някои от функциите, които ще бъдат обсъдени по-долу. Всички приложения могат да бъдат разделени в няколко групи:

  • GUI приложения;
  • приложения, които работят от командния ред (командни редове комунални услуги);
  • скриптове в VBS / Jscript (на VBS скриптове се отнасят за работещи от командния ред, като ги изберете в отделна група приложенията).

Първата особеност: като ASP страници код се изпълнява на сървъра, а само резултата като HTML-страница е изпратен на клиентската машина, за да се поддържа успешно прилагането на сървър, потребителят трябва да имате съответните права. IIS е система за тристепенна.

Нека IIS е стандартна настройка. В този случай, при изтегляне на всеки ASP страници, тя започва от вградения в потребителското име (вж. Фиг. 2). Ако страницата работи с някои бази данни, като например с Active Directory, потребителят, който ръководи тази страница, трябва да имате права на администратор. Има няколко начина, за да отговарят на тези условия. Първият - вместо вградения потребителски акаунт, се регистрират на името на администраторския акаунт мрежа. В този сценарий, всеки потребител ще може да посетите тази страница в мрежата, тъй като то ще се управлява като системен администратор. Този метод позволява всякакъв достъп до тази страница, че ще се съгласите, не е наред. Това не е толкова лошо. Основното нещо е, че по този начин значително намалява сигурността на цялата система. В случай на грешки на страницата, на нападателя просто тече зловреден код с права на администратор. Ето защо, ние предлагаме още един начин за решаване на проблемите, с които можете да ограничите достъпа до ресурси. В настройките на IIS, че трябва да зададете на кутията (вж. Фиг. 2) Активиране на анонимен достъп, и да го настроите в предната част на основно удостоверяване. Вие също трябва да промените разрешенията на структурата на файловете, използвани от обекта, което премахва от тях групата на всички, и добавяне на съответната група сигурност. С тази конфигурация, IIS, само на системните администратори да имат достъп до тази страница. При опит за всеки потребител, който не е мрежов администратор, достъп до страницата, IIS ще се изисква потребителско име и парола.

Ако искате да разширите кръга на лицата, които трябва да бъдат на разположение на сайта, докато потребителите не са системен администратор, можете да използвате опцията, която е синтез от два по-рано, очертани решения: ограничаване на достъпа до обекта чрез използване на Basic Authentication и разрешения за структурата на файла, стартирайте скрипта капсулирани в страницата като администратор.

Ние просто погледна към механизма на взаимодействие между първото и второто звено в системата на три нива. Първият елемент е работно място на потребителя, а вторият - на сървъра, на който IIS. Връзката на тези звена се осъществява от един потребител. Между втората и третата връзка (IIS сървър процеси, генерирани от ASP) взаимодействие се осъществява чрез друг потребител. Помислете за взаимодействието на втори и трети детайл връзка.

Когато се започва от код ASP страници на всяко приложение на взаимодействието между втората и третата връзка. IIS създава един процес, който тече от името на друг вграден потребител. Защото ASP страници работи на сървъра, а след това да започне необходимостта за кандидатстване трябва да бъде назначен права. Управление на профила на потребител, се извършва в Инструменти за кандидатстване (вж. Фиг. 3).

Това е първият игрален филм относно абсолютно всички приложения. Има втора, също характерно за всички приложения.

С Пусни GUI за кандидатстване

Стартиране на приложение се извършва като се използва един от методите, описани по-горе (вж. Примери 2 и 3). Единствената особеност е необходимостта да укажете пълния път до изпълнимия заявлението. Пътят може да бъде локално, например, C: FOLDER1. и мрежа: ServerC $ FOLDER1.

Стартиране на приложение от командния ред (командния ред помощна програма)

Като приложение може да е програма, която се изпълнява от командния ред (от командния ред помощна програма), заявление за Windows (файл с разширение EXE).

Да разгледаме характеристиките на старта на командния ред, прилагането на ASP-страници. Синтаксисът на командата, която стартира помощната програма от командния ред, както следва:

% Comspec% / в cmd_util.exe

Префикс% comspec% / C е задължително. променлива среда% на comspec% точки до C: Windows System32cmd.exe. Защото, когато започнете външна команда CMD се генерира от този процес, след работа, че е необходимо да се затвори командата. Това се прави с помощта на ключ / в. Ако процесите не са близки, а след това в края на краищата има недостиг на памет на сървъра, което води до значително намаляване на скоростта на работа, а след това да се откаже от работата на различни компоненти на услугата. Пътят към помощната програма също трябва да бъдат написани в пълен размер. Можете да използвате името на мрежата в UNC (ServerShare.).

Стартиране на файлове VBS азбука

Има ситуации, когато е необходимо от ASP-страници, за да стартира външно VBS скрипт. Обикновено тя започва с параметрите. Помислете парче обявата VBS скрипт, свързани с четенето на неговите външни параметри.

параметри на базата на използване на обекти свойства Аргументи WScript WSH за четене. Ето един пример, който определя сценария започна и за някои параметри:

т = "номер на предварително определени параметри -" Wscript.Arguments.Count CHR (13) "Параметри" CHR (13)

За Всеки арг в objArgs

т = т арг CHR (13)

Четене на стойностите на елементите на масив, съдържащи аргументи скрипт може да се извършва по друг начин. И двата варианта предлагат един и същ резултат.

Ето защо, по свой избор, зависи от предпочитанията на програмиста. Имайте предвид само първото изпълнение по-компактен. Все пак, ако това е необходимо да се използва за номериране на обекти, вторият вариант би бил по-успешен, защото първите ще се въведе допълнително брояч:

т = "номер на предварително определени параметри -" Coun CHR (13) "Параметри" CHR (13)

За I = 0 до Coun-1

т = т I + 1 ":" objArgs (I) CHR (13)

Понякога трябва да се получи стойността на аргумент. Това е илюстрирано в Пример 6. Трябва да се помни, че номерирането започва с 0 елементи:

MsgBox objArgs (2) "на трето четене на аргумента.

Горният пример не е модел на програмиране, като пример не е манипулатор грешка.

Очаквайки възможни грешки, просто имитация на интелигентност в програмата е добра форма на програмиране. Ето защо, за този пример ще създадем манипулатор грешка. В тази ситуация, възниква грешка, ако се извършва четене несъществуващи параметри.

Q = InputBox ( "Въвеждане на броя на възстановен аргумент", "четене номер аргумент") - 1

ако р> Coun тогава

При използване на НДНТ-файлове, трябва да се помни, че отделен процес се генерира не само по време на стартирането на този тип файлове, но също така и при изпълнението на всеки един от отборите, които са вътре в нея. По същата причина, не е необходимо да се извърши, свързани команди, тъй като тя може да бъде ситуация, в която първият все още не е имал време да се работи, а вторият се съдържа следния ред и използва резултатите от първия отбор, вече е започнала да се извърши. В резултат на това възниква грешка. За да избегнете това, обадете се на командния кода на ASP-страница и да се провери резултатът от екипа на отпадъци.

За да обобщим накратко, ние се отбележи, че когато се работи с външни файлове от ASP страници, трябва да се вземат предвид особеностите на IIS работи. Надявам се, че след като прочетете тази статия, програмисти, няма да имат проблеми с стартирането на прилагането на ASP-страници.

Подкрепете проекта - споделете линка, благодаря!