ASP - Приемы управления приложением
ASP предлагает шесть различных способов изменения общей последовательности выполнения. Эти методы показаны на приведенных ниже диаграммах. Стрелки на диаграммах указывают последовательность выполнения.
Перенаправление
Перенаправление — это процесс направления запроса по другому адресу. Перенаправление требует передачи нового запроса на сервер. Однако обычно следует спроектировать приложение, чтобы минимизировать число передач между сервером и клиентом. Множество проблем проектирования, которые в прошлом решались перенаправлением, сейчас могут быть выполнены передачей, которая не требует нового запроса. Дополнительные сведения об этом аспекте проектирования приложения см. в разделе Координация обработки клиент-сервер.
Перенаправление может быть выполнено с помощью метода Response.Redirect.
Передача
Возможность передачи запроса от одной ASP-страницы к другой введена в IIS 5.0. Передача аналогична перенаправлению; однако она не требует запуска нового запроса. Это гораздо более эффективный способ управления последовательностью выполнения приложения. Если запрос передается ASP-странице за границами приложения, границы будут временно расширены и будут включать внешнюю ASP-страницу. Внешняя ASP-страница будет вести себя так, как будто она включена в границы приложения вызывающей ASP-страницы. следовательно, любой объект или переменная, которые имеют областью определения приложение, будут по-прежнему доступны на ASP-странице, которой был передан запрос. Кроме того, что передача работает быстрее перенаправления, передача сохраняет все встроенные объекты ASP из исходного запроса, включая значения из формы, переданные HTTP.
Передача может быть выполнена с помощью метода Server.Transfer.
Выполнение
Возможность выполнить отдельный сценарий ASP и возвратить результаты введена в IIS 5.0. Выполнение аналогично вызову процедуры во многих языках программирования. Этот метод управления последовательностью выполнения приложения подходит, если разрабатывается ASP-приложение, выполняющее ряд функций, которые необходимо встроить, но эта функция не реализована в компоненте.
Выполнение может быть произведено с помощью метода Server.Execute.
Вызов компонента
Это, вероятно, самый распространенный способ управления последовательностью выполнения приложения. Модель программирования COM является частью Windows DNA, и ей будет адресовано большинство проблем проектирования. Компоненты сценария, технология, поддерживаемая IIS 5.0, упрощает преобразование существующих сценариев в компоненты.
Вызов компонента может быть выполнен с помощью метода Server.CreateObject. Дополнительные сведения о компонентах сценария см. в разделах Windows Script Components и Использование компонентов и объектов.
Выход
В обычных условиях ASP-приложение должно выполнить все строки сценария на странице. Однако могут возникнуть обстоятельства, при которых нужно просто закончить обработку. Например, если установлено (с помощью метода Response.IsClientConnected), что клиент уже не ждет ответа, возникает необходимость завершить ASP-приложение.
Выход может быть выполнен с помощью метода Response.End.
Обработка процедур
Если внутри файла .asp необходимо определить подпрограммы или функции, это можно сделать с помощью синтаксиса процедуры, соответствующего используемому языку написания сценариев. Например, в языке VBScript подпрограмма задается конструкцией Sub … End Sub, а функция — синтаксической конструкцией Function … End Function. С другой стороны, JScript поддерживает обработку процедур через вызовы функций. Дополнительные сведения об обработке подпрограмм см. в разделе Написание процедур.