Архитектура Microsoft Windows для разработчиков




Глава 10. Реализация серверных решений


    Глава 10. Реализация серверных решений
    Глава 10. Реализация серверных решений Прежде всего Для изучения занятий этой главы необходимы: знание материала главы 2, «Концепции построения сетей»; знание материала главы 8, «Технологии Active...
    Занятие 1. Знакомство с ASP
    Занятие 1. Знакомство с ASP (Продолжительность занятия 10 минут) Сценарии серверной части выполняются на Web-сервере, а не на компьютере-клиенте. Web-сервер обрабатывает или создает HTML-страницы,...
    Элементы активной страницы сервера
    Элементы активной страницы сервера Текстовый файл активной страницы может содержать следующие элементы: текст; тэги HTML; сценарий серверной части; сценарий клиентской части. Когда пользователь пр...
    Web-узел Adventure Works
    Web-узел Adventure Works Когда Вы установили на свой сервер Microsoft ASP, Вы стали обладателем примера Web-узла, построенного средствами ASP — Adventure Works. В этом упражнении Вы подключитесь к...
    Резюме
    Резюме Серверные сценарии расширяют функциональные возможности Web-страниц при отображении в клиентской программе просмотра, но сами работают на Web-сервере. Страницы, содержащие серверные сценари...
    Занятие 2. Разработка активных страниц сервера
    Занятие 2. Разработка активных страниц сервера (Продолжительность занятия 20 минут) Активные страницы сервера — это комбинация серверных сценариев (на языках VBScript или JavaScript) и тэгов HTML....
    Архитектура активных страниц
    Архитектура активных страниц Обрабатывает активные страницы расширение Web-сервера, которое поставляется с Microsoft Visual InterDev и Microsoft Internet Information Server (IIS). Чтобы Вы могли т...
    Обработка активной страницы сервера
    Обработка активной страницы сервера...
    Синтаксис активных страниц
    Синтаксис активных страниц Сценарий серверной части обрамляется парными тэгами % и % или заключается в тэг SCRIPT. В последнем случае нужно задать значение атрибута RUNAT, который указывает, где с...
    Тэги
    Тэги % % При обработке активной страницы Web-сервер выполняет любой код, обрамленный тэгами % и %. Эти ограничители используются в Web-странице для отделения кода сценария от команд HTML. Как прав...
    Пример 1
    Пример 1 В этом примере процедуры Now и Hour, ограниченные тэгами % и %, применяются для определения текущего времени. В зависимости от полученного результата выбирается подходящее приветствие — «...
    Пример 2
    Пример 2 Здесь средствами сценария VBScript выясняется значение переменной в ASP-файле: %Dim MyVar MyVar = 3 Select Case MyVar Case 1 %ВОLDЗначение равно единице. /BOLD% Case 2 %ВОLDЗначение равно...
    Отображение результатов
    Отображение результатов Чтобы получить результат работы сценария в формате HTML, используйте синтаксис %= %....
    Пример 3
    Пример 3 Здесь отображается текущее время: Текущее время: %= Time %. Например, в 8:34 утра пользователь получит следующее сообщение: Текущее время: 8:34 AM....
    Тэг <SCRIPT>
    Тэг SCRIPT Серверный сценарий включают в активную страницу с помощью тэга HTML SCRIPT, присвоив атрибуту RUNAT значение Server. В раздел SCRIPT разрешается добавление функций и подпрограмм серверн...
    Пример 4
    Пример 4 Здесь серверный сценарий применяется для определения времени суток: SCRIPT LANGUAGE=VBScript RUNAT=SERVER Function ComputeAMPM() If Hour(Now) 12 Then ComputeAMPM = утро Else ComputeAMPM =...
    Пример 5
    Пример 5 Здесь отображается сообщение, вид которого зависит от времени суток: SCRIPT LANGUAGE=VBScript RUNAT=SERVER Response.Write Сейчас ComputeAMPM() . /SCRIPT Например, в 6 часов утра пользоват...
    Встроенные объекты
    Встроенные объекты Встроенные объекты архитектуры ASP позволят Вам расширить функциональные возможности Вашего Web-приложения. Их средствами Вы обеспечите совместное использование информации Вашег...
    Создание активной страницы
    Создание активной страницы Хотя для создания ASP можно использовать любой текстовый редактор, Microsoft Visual InterDev отличается удобной графической средой. Чтобы насладиться его преимуществами,...
    Резюме
    Резюме Активные страницы выполняются специальными компонентами Web-сервера. Сценарии активной страницы обрабатываются, когда программа просмотра запрашивает с Web-сервера ASP-файл. Web-сервер вызы...
    Занятие 3. Чтение HTTP-запроса
    Занятие 3. Чтение HTTP-запроса (Продолжительность занятия 15 минут) Когда пользователь пытается получить данные с Web-страницы, запрос передается серверу в формате HTTP. Приложения ASP применяют д...
    Объект Request
    Объект Request Объект Request обеспечивает доступ ко всей информации, содержащейся в HTTP-запросе....
    Наборы объекта Request
    Наборы объекта Request Объект Request содержит пять наборов, предназначенных для извлечения информации из HTTP-запроса. Набор Описание QueryString Значения переменных в строке запроса HTTP, в част...
    Использование объекта Request
    Использование объекта Request Каждый набор объекта Request содержит переменные, которые Вы можете использовать для извлечения информации из HTTP-запроса. Примечание Полный список предопределенных...
    Пример 1
    Пример 1 Здесь переменная SERVER_NAME набора ServerVariables используется для получения имени Web-сервера: Request.ServerVariables(SERVER_NAME) Значения этих переменных помогут Вам создать динамич...
    Пример 2
    Пример 2 Здесь имя Web-сервера используется для создания гиперссылки на расположенную на нем Web-страницу: А HREF=http://%= Request.ServerVariables(SERVER_NAME)% /MyPage.aspLink to MyPage/A К пере...
    Пример 3
    Пример 3 Вот пример непосредственного обращения к серверной переменной: Request(SERVER_NAME) Если Вы обращаетесь к переменной напрямую, Web-сервер просматривает в ее поисках наборы в следующем пор...
    Набор QueryString
    Набор QueryString Набор QueryString объекта Request предназначен для извлечения информации из заголовка HTTP-запроса. Когда пользователь отправляет заполненную форму или добавляет параметры к URL-...
    HTTP-запрос, содержащий передаваемую информацию
    HTTP-запрос, содержащий передаваемую информацию Примечание Набор QueryString — это синтаксически разобранная версия переменной QUERY_STRING набора ServerVariables. Набор QueryString позволяет Вам...
    Пример 4
    Пример 4 Этот пример выполняет цикл считывания значений из HTTP-запроса: %For Each Item In Request.QueryString 'Отображение элемента Next % Если под одним именем передается несколько значений, нап...
    Пример 5
    Пример 5 Здесь показано, как получить доступ к первому и второму значениям переменной «sport» в наборе QueryString: Request,QueryString(sport)(0) Request.QueryString(sport)(1)...
    Набор Form
    Набор Form Набор Form объекта Request извлекает информацию из тела HTTP-запроса. Примечание Если форма использует метод GET, в набор QueryString будет включена вся информация, переданная в форме....
    Пример 6
    Пример 6 Пусть пользователь заполняет и отправляет такую HTML-форму: FORM ACTION=submit.asp METHOD=POST Name: INPUT TYPE=TEXT NAME=namexP Favorite Color: SELECT MULTIPLE NAME=color OPTIONRed OPTIO...
    Пример 7
    Пример 7 Здесь выполняется цикл по всем стандартным элементам управления HTML в HTTP-запросе: % For Each Item in Request.Form 'Отображение элемента Next % Если элемент управления формы имеет неско...
    Пример 8
    Пример 8 Здесь показано, как получить доступ к первому и второму значениям переменной «color», выбранным из многозначного списка: Request.Form(color)(0) Request.Form(color)(1)...
    Резюме
    Резюме Объект Request позволяет извлечь значения, содержащиеся в HTTP-запросе. Объект Request обеспечивает доступ ко всей информации, передаваемой Web-серверу, а также содержит пять наборов для из...
    Занятие 4. Создание HTTP-ответа
    Занятие 4. Создание HTTP-ответа (Продолжительность занятия 15 минут) Определив, что именно пользователь запрашивает в HTTP-запросе, Вы можете вернуть ему необходимую информацию с помощью свойств и...
    Объект Response
    Объект Response Объект Response позволяет манипулировать информацией, передаваемой пользователю в виде HTTP-ответа....
    Свойства и методы
    Свойства и методы Объект Response снабжен свойствами и методами, предназначенными для отправки информации пользователю. Некоторые свойства объекта Response вкратце описаны в приведенной ниже табли...
    Синтаксис объекта Response
    Синтаксис объекта Response Синтаксис Для свойств и методов объекта Response применяется следующий синтаксис: Response.свойство метод...
    Пример 1
    Пример 1 Здесь свойству Expires объекта Response присваивается значение 0 — содержимое ответа, возвращенного пользователю, будет считаться устаревшим сразу же после отправки: % Response.Expires =...
    Метод Write
    Метод Write Метод Write добавляет текст в HTTP-ответ. Синтаксис Синтаксис метода Write таков: Response.Write вариант Здесь вариант — это любой тип данных (в том числе символы, строки и целые числа...
    Пример 2
    Пример 2 Здесь метод Write используется в цикле для вывода значений каждого стандартного элемента управления HTML формы, присланной в HTTP-запросе: %For Each Item In Request.Form Response.Write It...
    Пример 3
    Пример 3 Здесь тэг HTML добавляется на Web-страницу. Строка, возвращаемая методом Write, не может содержать символы % в тэге HTML, поэтому вместо них используется escape-последовательность %\: % R...
    Метод Redirect
    Метод Redirect Метод Redirect применяется для переадресации на другую Web-страницу. В качестве аргумента метода Redirect объекта Response задается указатель ресурса новой страницы. Синтаксис Для м...
    Пример 4
    Пример 4 Здесь метод Redirect используется для отображения страницы в разных разрешениях в зависимости от параметров экрана компьютера-клиента: % If Request.ServerVariables(HTTP_UA_PIXELS) = 640х4...
    Помещение значений в форму
    Помещение значений в форму Средствами активных страниц можно разрабатывать формы, размещающие значения в ASP-файле. Для этого нужно разделить ASP-файл на две части: первая выводит форму, а вторая...
    Пример 5
    Пример 5 Здесь выводится пустая форма: % If IsEmpty (Request(txtName)) Then 'Вывести форму Else 'Форма была отправлена End If %...
    Буферизация ответа
    Буферизация ответа Чтобы Web-сервер не отправлял HTTP-ответ пользователю, пока не будут обработаны все серверные сценарии активной страницы, применяется буферизация содержимого ответного сообщения...
    Установка свойства Buffer
    Установка свойства Buffer Чтобы включить режим буферизации, присвойте свойству Buffer значение True. Свойство Buffer нельзя устанавливать после того, как сервер отправил ответ пользователю, поэтом...
    Пример 6
    Пример 6 Здесь свойству Buffer присваивается значение True: Response.Buffer = Tru...
    Обработка ошибок в режиме буферизации
    Обработка ошибок в режиме буферизации Если во время обработки активной страницы в режиме буферизации возникла ошибка, примените метод Redirect объекта Response, предварительно очистив буфер методо...
    Пример 7
    Пример 7 Чтобы при возникновении ошибки очистить буфер и направить пользователя на страницу, сообщающую об ошибке, введите следующий код: Response.Buffer = True On Error Resume Next 'Код, который...
    Резюме
    Резюме Выяснив, какую информацию запрашивает пользователь, Вы можете создать ответ средствами объекта Response. Свойства и методы объекта Response позволяют оперировать информацией, передаваемой к...
    Занятие 5.
    Занятие 5. Хранение пользовательской информации (Продолжительность занятия 40 минут) Активные страницы позволяют Web-приложению хранить состояние, то есть информацию, связанную с конкретным пользо...
    Применение агентов
    Агенты (cookies) — это механизм, позволяющий сохранять рабочее состояние в файле (обычно он называется cookies) на компьютере пользователя. Примечание Хотя основные программы просмотра Web поддерж...
    Создание агентов
    Создание агентов Значения агентов, которых Ваш Web-сервер отправляет пользователю, задаются с помощью набора Cookies объекта Response. Если агент не существует, метод Response.Cookies создаст его...
    Пример 1
    Пример 1 Здесь создается агент со значением city=Redmond: % Response.Cookies(city)=Redmond % Если Вы хотите, чтобы агент относился ко всем страницам Вашего Web-приложения, присвойте атрибуту Path...
    Пример 2
    Пример 2 Вот агент, относящийся ко всем страницам Web-приложения: Response.Cookies(city).Path = / Вы вправе устанавливать и другие атрибуты агента, например срок его действия....
    Пример 3
    Пример 3 Здесь задается срок окончания действия агента: Response.Cookies(Type).Expires = July 31, 1997...
    Считывание агентов
    Считывание агентов Программа просмотра, запрашивая страницы Вашего Web-приложения, сопровождает запрос соответствующим агентом (если, конечно, он был создан). Чтобы считать значение агента, исполь...
    Пример 4
    Пример 4 Если HTTP-запрос содержит агент со значением city=Redmond, в результате работы кода этого примера будет получено значение Redmond: %= Request.Cookies(city) %...
    Объект Session
    Объект Session Объект Session содержит информацию о конкретном сеансе работы. Переменные, сохраненные в объекте Session, не уничтожаются, когда пользователь перемещается по страницам Web-приложени...
    Синтаксис объекта Session
    Синтаксис объекта Session Объект Session имеет два свойства и один метод. Свойство SessionID идентифицирует сеанс пользователя, а свойство Timeout задает значение тайм-аута сеанса. Метод Abandon у...
    Пример 5
    Пример 5 Этот код создает и сохраняет псевдоним пользователя и данные о его месте жительства: % Session(nickname) = Ненси Session(hometown) = Редмонд %...
    Пример 6
    Пример 6 Здесь показано, как воспользоваться информацией, сохраненной в объекте Session: Привет, %= SessionC'nickname) %.BR Как погода в %= Session( home-town) %?BR...
    Чтение данных из формы
    Чтение данных из формы В этом упражнении Вы создадите активную страницу, которая считывает данные, предоставленные ей HTML-формой, и сохраняет их в объекте Session. Вы сохраните данные в объекте S...
    Объект Application
    Объект Application Объект Application обеспечивает доступ к информации всем пользователям Web-приложения. Web-приложение запускается, когда пользователь, обратившийся к нему первым, запрашивает .a...
    Пример 7
    Пример 7 Здесь показано, как добавить информацию, полученную с административной страницы, в Web-приложение: % Application( ТемаЛекции) = Request. Form( лекция) Application(аудитория) = Request.Fоr...
    Пример 8
    Пример 8 Здесь демонстрируется, как воспользоваться информацией из предыдущего примера: Не пропустите сегодняшнюю лекцию в аудитории %= Application( аудитория) %, на тему %= Аррliсаtiоп(ТемаЛекции...
    Блокировка и разблокировка объекта Application
    Блокировка и разблокировка объекта Application Все пользователи обращаются к одному и тому же объекту Application, поэтому вполне возможно, что два человека одновременно попытаются модифицировать...
    Пример 9
    Пример 9 Здесь демонстрируется, как методами Lock и Unlock изменить значения счетчика посещений, используемого в Web-приложении: % Application.Lock Application(NumVisits) = Application(NumVisits)...
    Обработка событий в файле Global. asa
    Обработка событий в файле Global. asa Global.asa — это первый файл, который обрабатывает Web-сервер, когда получает первый после запуска пользовательский запрос .asp-файла или когда .asp-файл запр...
    События объекта Application
    События объекта Application Объект Application имеет два события — Application_OnStart и Application_OnEnd. В файле Global.asa их можно снабдить сценариями. Любой сценарий, связанный с событием Ap...
    Пример 10
    Пример 10 Здесь демонстрируется код для события Application_OnStart в файл Global.asa: SCRIPT LANGUAGE=VBScript RUNAT=Server Sub Application_OnStart 'Код Вашего сценария End Sub /SCRIPT...
    События объекта Session
    События объекта Session Подобно объекту Application, объект Session снабжен событиями Session_OnStartH Session_OnEnd. Сценарии события Session_OnStart запускаются, когда пользователь, еще не откры...
    Пример 11
    Пример 11 Здесь событие Session_OnStart используется для принудительной переадресации пользователя на страницу регистрации на Вашем узле независимо оттого, какую именно активную серверную страницу...
    Использование тэга <OBJECT> в файле Global.asa
    Использование тэга OBJECT в файле Global.asa Средствами тэга OBJECT в файле Global.asa можно создать компонент, работающий на Web-сервере. Чтобы использовать тэг OBJECT в файле Global.asa, присвой...
    Пример 12
    Пример 12 Здесь с помощью PROGID на время сеанса создается экземпляр компонента Advertisement Rotator: OBJECT RUNAT=Server SCOPE=Session ID=MyAd PROGID=MSWC.Adrotator /OBJECT...
    Пример 13
    Пример 13 Здесь с помощью CLASSID на время работы приложения создается экземпляр компонента Advertisement Rotator: OBJECT RUNAT=Server SCOPE=Application ID=MyAd CLASSID=Clsid:00000293-0000-0010-80...
    Пример 14
    Пример 14 Вот как открыть экземпляр компонента Advertisement Rotator, объявленный в коде предыдущего примера: %= MyAd.GetAdvertisement(addata.txt) %...
    Резюме
    Резюме Активные страницы позволяют хранить в Web-приложениях состояние — информацию, связанную с конкретным посетителем узла, — с помощью агентов и объектов Session и Application. Агенты хранят ин...
    Занятие 6. Серверные компоненты ActiveX
    Занятие 6. Серверные компоненты ActiveX (Продолжительность занятия 30 минут) Серверные компоненты ActiveX применяются на Web-сервере для реагирования на запросы пользователей. Эти компоненты позво...
    Объект Server
    Объект Server Объект Server обращается к компонентам ActiveX посредством метода CreateObject. Этот объект также позволяет задать время ожидания для серверных сценариев. Синтаксис Для объекта Serve...
    Метод CreateObject
    Метод CreateObject Первое, что Вам придется сделать для использования серверного компонента ActiveX, — создать ссылку на него. Далее можно вызывать методы компонента, а также задавать и считывать...
    Пример 1
    Пример 1 Здесь создается ссылка на компонент Browser Capabilities. % Set bc = Server. CreateObject(MSWC. Browser Type) % Серверные компоненты ActiveX позволяют инкапсулировать и повторно использов...
    Свойство ScriptTimeout
    Свойство ScriptTimeout По умолчанию серверному сценарию предоставляется 90 секунд на выполнение. Это ограничение не относится к серверным сценариям, запустившим серверный компонент ActiveX, — тако...
    Пример 2
    Пример 2 Здесь свойство ScriptTimeout объекта Server используется для увеличения времени выполнения сценария: % Server.ScriptTimeout = 180 'SECONDS %...
    Базовые компоненты
    Базовые компоненты Чтобы упростить создание Web-приложений, в состав IIS включены пять серверных компонентов ActiveX, называемых также базовыми. В дополнение к ним Вы можете, используя различные и...
    Использование ADO в активных страницах
    Использование ADO в активных страницах В этом упражнении Вы с помощью объекта доступа к данным подключитесь из активной страницы к источнику данных Northwind. Создание нового проекта Запустите Mic...
    Резюме
    Резюме ActiveX-компоненты позволяют отвечать на запросы пользователей с помощью объекта Server и его методов. Первое, что надо сделать при применении серверных компонентов ActiveX, — создать ссылк...
    Занятие 7. Инструментальные элементы ActiveX
    Занятие 7. Инструментальные элементы ActiveX (Продолжительность занятия 15 минут) Инструментальные элементы ActiveX (ActiveX design-time controls) позволяют генерировать НТМL-код, а также серверны...
    Инструментальные элементы в составе Visual InterDev
    Инструментальные элементы в составе Visual InterDev Инструментальными элементами пользуются точно так же, как и другими управляющими элементами ActiveX, — выбрав пункт Insert ActiveX Control из ме...
    Использование инструментального элемента в активной странице
    Использование инструментального элемента в активной странице В этом упражнении Вы воспользуетесь инструментальным элементом Data Connection в активной серверной странице. Использование инструмента...
    Резюме
    Резюме Инструментальные элементы ActiveX позволяют генерировать HTML-код, а также серверные и клиентские сценарии на языках Microsoft Visual Basic и JavaScript. Вы можете использовать существующие...
    Закрепление материала
    Закрепление материала Приведенные ниже вопросы помогут Вам лучше усвоить основные темы данной главы. Если Вы не сумеете ответить на вопрос, повторите материал соответствующего занятия. Правильные...








Начало    



Книжный магазин