Руководство по Active Server Pages

advertisement
Руководство по Active Server
Pages
Перед вами — руководство по Active Server Pages. В данном разделе
представлены подробные сведения по созданию страниц ASP и
разработке веб-приложений. Здесь также описаны особые методы
событий и интерфейсные средства для создания компонентов, доступ к
которым обеспечивается расширениями ASP и ISAPI. В настоящем
разделе можно найти необходимые указания по сохранению данных
пользовательских настроек IIS и работе с ними через встроенные
объекты. Наконец, в руководство включена библиотека сценариев и
примеров программ, где наглядно представлены различные возможности
взаимодействия с IIS.
В этом разделе рассматриваются следующие вопросы.







Active Server Pages. Вводные сведения, относящиеся к
созданию страниц Active Server Pages. Основные понятия,
описывающие программную платформу IIS.
Разработка веб-приложений. Место IIS в архитектуре
распределенных приложений Microsoft. Особенности разработки и
внедрения приложений для распространения по протоколу HTTP.
Программное администрирование IIS. Обзорные и
справочные сведения по автоматизации управления настройками
IIS.
Встроенные объекты ASP. Описание свойств и методов
встроенных объектов ASP.
Устанавливаемые компоненты для ASP. Описание различных
компонентов для работы с ASP.
Справочные сведения по сценариям. Разнообразные
справочные материалы, в том числе @-директивы и ссылки
Global.asa.
Примеры ASP. Перенаправление на примеры сценариев ASP в
разделе IIS пакета SDK или на веб-узел MSDN Online - Internet
Information Services.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права
защищены.
Active Server Pages
Microsoft® Active Server Pages (ASP) — это среда для разработки
сценариев на стороне сервера, которую можно использовать для
создания интерактивных веб-страниц и построения мощных вебприложений. Когда сервер получает запрос на файл ASP, он
обрабатывает сценарий на стороне сервера, содержащийся в файле, и
формирует веб-страницу, которая передается в обозреватель. Кроме
сценариев на стороне сервера файлы ASP могут содержать HTML
(включая связанные сценарии на стороне клиента), а также вызовы
компонентов COM, которые выполняют множество задач, например
соединение с базой данных или обработка бизнес-логики.
Разделы в данной главе служат введением в ASP, объясняют основные
понятия написания сценариев с помощью ASP и обсуждают более
сложные вопросы приложений, например поддержка состояния.
В данном разделе описываются следующие вопросы.


Представление об Active Server Pages. Служит введением в
ASP, описывает новые возможности и содержит интерактивный
учебник.
Построение страниц ASP. Обеспечивает основные сведения,
необходимые для написания сценариев и представляет разделы,
охватывающие от синтаксиса до создания сценариев с поддержкой
транзакций.
В разделе не затрагиваются следующие темы.




Более сложные вопросы, например проектирование и построение
веб-приложений; см. Web-приложения: обзор.
Справочные страницы по встроенным объектам ASP; см.
Встроенные объекты ASP.
Справочные страницы по компонентам, поставляемым с ASP; см.
Устанавливаемые компоненты для ASP.
Примеры сценариев см. под заголовком Примеры ASP в разделе
IIS пакета SDK или на веб-узле MSDN Online - Internet Information
Services.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права
защищены.
Представление об Active Server
Pages
Active Server Pages (ASP) — это инструмент для создания динамических
веб-страниц и мощных веб-приложений. В настоящем вводном разделе
рассказывается о возможностях ASP применительно к разработке и
созданию веб-страниц.
В этом разделе рассматриваются следующие вопросы.




Введение в Active Server Pages. Обзор Active Server Pages.
Новые возможности ASP. Описание новых возможностей,
которые включены в данный выпуск.
Важные изменения в ASP. Описание функциональных
изменений для данного выпуска.
Учебник по ASP. Пошаговое руководство по созданию
серверных сценариев с помощью ASP.
Данная глава не содержит сведений по следующим вопросам.


Основы создания серверных сценариев с помощью ASP; см.
Построение страниц ASP.
Сведения о создании более сложных сценариев можно найти в
разделе Web-приложения. Обзор.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права
защищены.
Введение в Active Server Pages
Active Server Pages (ASP) — это серверная среда для разработки и
выполнения динамических интерактивных веб-приложений. Средства
ASP позволяют объединить возможности HTML-страниц, команд
сценариев и компонентов COM в интерактивных веб-страницах и мощных
веб-приложениях, делают удобным и легким процесс их создания и
изменения.
Разработка HTML-страниц
Разработчики HTML-страниц смогут увидеть, что создание серверных
сценариев с помощью ASP — быстрый и простой способ перейти к
разработке сложных коммерческих веб-приложений. ASP также
предлагает универсальное решение задачи хранения в базе данных
сведений, которые представлены HTML-формой, настройки веб-узлов с
учетом особенностей посетителей и использования разнообразных
возможностей обозревателей при работе с HTML-страницами. Например,
раньше создание обычного приложения Common Gateway Interface (CGI)
для обработки получаемых от пользователя данных на веб-сервере
требовало знания языка Perl или C. Располагая возможностями ASP,
можно получать данные HTML-форм и передавать их в базу данных с
помощью простых серверных сценариев, которые могут включаться
непосредственно в HTML-документы. Предварительное знакомство с
такими языками написания сценариев, как Microsoft VBScript или
Microsoft® JScript® (последний является реализованной корпорацией
Майкрософт спецификацией языка ECMA 262) гарантирует легкое
освоение ASP.
Чтобы непосредственно приступить к работе с ASP, обратитесь к
учебнику по ASP. Далее можно будет вернуться к рассматриваемой теме
и изучить создание серверных сценариев более досконально.
Профессиональная разработка вебсценариев
В ASP отсутствует ориентация на конкретный язык программирования,
поэтому знакомства с любым языком сценариев (VBScript, JScript или
PERL) будет достаточно для того, чтобы работать с Active Server Pages.
Более того, на страницах ASP допускается использование любого языка
сценариев, для которого был установлен COM-совместимый обработчик
сценариев. В состав ASP входят обработчики сценариев VBScript и
JScript, но имеется дополнительная возможность установки обработчиков
для языков PERL, REXX и Python, которые могут быть получены от
независимых разработчиков.
Разработка и программирование вебприложений
Профессиональным разработчикам, программирующим на языках Visual
Basic, C++, Java и др. ASP обеспечивает гибкие возможности быстрого
создания законченных веб-приложений. Помимо добавления сценариев
и создания удобного HTML-интерфейса приложения имеется также
возможность самостоятельной сборки компонентов COM. Необходимые
правила расчетов могут быть реализованы в универсальных модулях,
которые могут многократно вызываться из сценариев, а также из других
компонентов и программ.
Модель Active Server Pages
Выполнение серверного сценария начинается после поступления от вебобозревателя запроса на файл «.asp». После этого веб-сервер вызывает
ASP для обработки указанного в запросе файла. Обработка этого файла
происходит последовательно, от начала и до конца, при этом
выполняются все содержащиеся в нем команды сценария, после чего
файл отправляется на обозреватель в виде веб-страницы.
Поскольку сценарии выполняются на сервере, а не на локальном
компьютере, веб-сервер выполняет и всю необходимую работу по
созданию веб-страниц, которые будут отправлены в обозреватель.
Простое копирование серверных сценариев невозможно, поскольку в
обозреватель передаются только результаты их выполнения.
Пользователи могут просматривать веб-страницы, но не могут видеть
текст сценария, с помощью которого эти страницы создавались.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права
защищены.
Новые возможности ASP
В активные серверные страницы (ASP) были добавлены новые
возможности, облегчающие работу создателям сценариев и
разработчикам веб-приложений.





Новые средства управления работой программ. В объект
Server ASP были добавлены два новых метода, предназначенных
для управления ходом выполнения программ: Server.Transfer и
Server.Execute. Теперь вместо неэффективной переадресации
запросов, выполняющей двусторонний обмен данными с клиентом,
можно использовать эти методы для направления запроса
непосредственно asp-файлу, без передачи информации за пределы
сервера. Дополнительные сведения см. в разделе Отправка
содержимого в веб-обозреватель.
Обработка ошибок. Теперь ASP имеют новые средства
обработки ошибок, позволяющие перехватывать ошибки с
помощью asp-файла специальных сообщений об ошибках. Новый
метод Server.GetLastError можно использовать для выдачи
полезных сведений, например, описания ошибки или номера
строки, в которой она возникла. Дополнительные сведения см. в
разделе Объект ASPError.
ASP, не содержащие сценариев. Так как статическое
содержимое обычно обрабатывается быстрее, чем содержимое на
стороне сервера, ранее рекомендовалось давать расширение .asp
только файлам, использующим функции ASP. Когда возникала
необходимость в добавлении функций ASP в файлы статического
.html, приходилось вручную изменять расширение файла на .asp и
корректировать соответствующие гиперссылки. Теперь, в данной
версии ASP, те .asp-файлы, которые не используют серверных
функций, обрабатываются быстрее, чем раньше. Поэтому при
разработке веб-приложения с возможностями развития, в файлы
которого со временем может потребоваться добавить функции ASP,
можно изначально дать этим файлам расширение .asp, независимо
от типа их содержимого. Дополнительные сведения см. в разделе
Создание ASP-страницы.
Улучшенная производительность объектов. Active Server
Pages теперь предоставляют оптимизированные версии своих
популярных устанавливаемых компонентов. Эти объекты надежно
встраиваются во многие системы опубликования содержимого.
Дополнительные сведения см. в разделе Устанавливаемые
компоненты для ASP.
Интеграция XML. Язык XML (Extensible Markup Language) делает
возможным семантическое описание сложных структур данных или
документов, которые могут совместно использоваться различными
приложениями, клиентами и серверами. С помощью нового





инструмента Microsoft® XML Parser, входящего в состав Microsoft®
Internet Explorer версии 4.0 или более поздней, можно создавать
приложения на стороне сервера, позволяющие веб-серверу
обмениваться данными в формате XML с обозревателем Microsoft
Internet Explorer версии 4.0 или более поздней, либо с любыми
серверами, поддерживающими XML. Дополнительные сведения см.
на веб-узле Microsoft XML.
Windows Script Components. ASP поддерживают новую мощную
технологию работы со сценариями, разработанную корпорацией
Microsoft — Windows Script Components. Она позволяет поместить
все сценарные процедуры, выполняющие функции вашей
организации, в COM-компоненты, допускающие повторное
использование, которые могут работать как в ваших вебприложениях, так и в других программах, построенных по
технологии COM. Дополнительные сведения см. в разделе
Использование компонентов и объектов.
Новый способ определения возможностей обозревателя.
ASP имеют новое средство для определения возможностей,
поддерживаемых обозревателем. Когда обозреватель отправляет
модуль настройки клиента (cookie) с описанием своих
возможностей (такой модуль настройки клиента устанавливается с
помощью простого сценария на стороне клиента), можно создать
экземпляр компонента Browser Capabilities, который получает
возвращаемые в этом модуле свойства обозревателя. Эту функцию
используют для определения возможностей обозревателя и
соответствующей настройки приложения. Дополнительные
сведения см. в разделе Получение сведений о поддерживаемых
обозревателем возможностях с помощью модуля настройки клиента
(cookie).
Автонастройка ASP. ASP теперь умеют распознавать ситуации,
когда выполняющиеся запросы блокируются внешними ресурсами.
При этом автоматически создаются новые потоки для
одновременного выполнения дополнительных запросов и
продолжения нормальной обработки. Если процессор перегружен,
ASP уменьшают число потоков. Это позволяет снизить количество
постоянных переключений, возникающих при одновременном
выполнении слишком большого числа неблокированных запросов.
Дополнительные сведения см. в описании свойства метабазы
AspThreadGateEnabled.
Включения на стороне сервера с помощью атрибута SRC.
Теперь для включений на стороне сервера можно использовать
атрибут SRC тега HTML <SCRIPT></SCRIPT>. Использование
атрибута SRC для указания виртуального или относительного пути
в сочетании с атрибутом RUNAT=SERVER, задающим выполнение
сценариев на стороне сервера, позволяет получить результаты,
аналогичные результатам применения директивы #Include.
Дополнительные сведения см. в разделе Включение файлов.
Шифрование сценариев ASP. Ранее веб-разработчики не могли
запретить просматривать тексты своих сценариев. Теперь ASP

поддерживают новую служебную программу шифрования
сценариев, поставляемую с Microsoft Visual Basic Scripting Edition
(VBScript) и Microsoft JScript 5.0. Отныне веб-разработчики имеют
возможность шифровать как клиентские, так и серверные
сценарии, что не позволит кому-либо прочитать текст сценариев в
виде ASCII-символов. Зашифрованные сценарии
расшифровываются обработчиком сценариев во время их
выполнения, поэтому нет необходимости в использовании
отдельной программы расшифровки. Хотя эта возможность и не
претендует на то, чтобы быть полностью безопасным решением,
она не позволит большинству обычных пользователей скопировать
или просмотреть сценарий. Дополнительные сведения см. на вебузле Windows Script Technologies.
Международные средства разработки ASP. Были добавлены
два новых свойства объекта Response: Response.CodePage и
Response.LCID. Эти свойства позволяют на уровне страницы
управлять кодовой страницей и национальными настройками для
динамических строк, без необходимости включать сеансы.
Свойства Session.CodePage и Session.LCID по-прежнему
обеспечивают управление на уровне сеанса кодовой страницей и
национальными настройками для динамических строк. Однако эти
свойства более не переписываются необратимо директивами
@CodePage и @LCID. Директивы @CodePage и @LCID по-прежнему
влияют на статические строки на веб-страницах. Эти свойства по
умолчанию неявно задаются стандартной кодовой страницей ANSI
(CP_ACP) и системной национальной настройкой
(LOCALE_SYSTEM_DEFAULT). Однако если свойства метабазы
AspCodePage или AspLCID заданы для любого веб-узла или
виртуального каталога, их значения становятся значениями по
умолчанию. Свойства метабазы позволяют использовать файлы
global.asa, которым требуются кодовые страницы, отличные от
системной. Расширенные средства UTF-8 включают поддержку
вспомогательных символов и поддержку символов национальных
алфавитов во внутренних объектах, таких как данные формы и
серверные переменные.
Важные изменения в ASP
В настоящий выпуск ASP были включены некоторые серьезные
изменения и улучшения. Их необходимо знать при переходе от
предшествующей версии ASP.
Примечание. Сведения о новых возможностях ASP см. в разделе
Новые возможности ASP.

Включение буферизации по умолчанию. В IIS 4.0
буферизация была по умолчанию отключена. В IIS 5.1
буферизация всегда включена (кроме тех случаев, когда она
намеренно отключается в сценарии). Это означает, что
окончательная отправка данных на компьютер пользователя
осуществляется после завершения их обработки или при вызове
метода Response.Flush в сценарии. При обновлении от IIS 4.0 до
IIS 5.1 поддерживаются настройки IIS 4.0. Таким образом,
буферизация ответа остается отключенной, пока она не будет явно
включена. Дополнительные сведения см. в разделе Буферизация
содержимого в теме «Отправка содержимого в веб-обозреватель».

Response.IsClientConnected. В IIS 4.0 команда
Response.IsClientConnected возвращала правильные данные
только в том случае, если в ASP-файле содержимое отправлялось в
веб-обозреватель. Начиная с IIS 5.1 использование в файле ASP
свойства IsClientConnected допускается и перед отправкой
содержимого в обозреватель. Дополнительные сведения см. в
разделе IsClientConnected.

Повышенная безопасность при включении файла. В IIS 4.0
при включении файла из виртуального каталога, отображаемого на
физический диск, в обработке этого файла ASP не принимались во
внимание учетные сведения для физического пути. В IIS 5.1 при
обработке включаемых файлов ASP использует учетные сведения,
которые относятся к физическому пути. Дополнительные сведения
см. в разделе Включение файлов.

Обработка строк запроса для используемых по умолчанию
документов. В IIS 5.1 если файл .asp (или .cdx) определяется
как документ, используемый по умолчанию, в строке запроса URL
используемый по умолчанию документ указывать не обязательно.
Например, для отправки значения запроса строки в используемый
по умолчанию файл «.asp» может быть указан как адрес URL
http://www.microsoft.com/default.asp?newuser=true, так и
http://www.microsoft.com/?newuser=true.

Флаги транзакции. В IIS 4.0 начало новой транзакции
отмечалось флагами обязательно, требуется новая и не
поддерживается. В IIS 5.1 этот порядок обработки остался
прежним. Однако если в одном файле «.asp» запускается
выполнение другого файла .asp с поддержкой транзакций
посредством нового метода Server.Execute или Server.Transfer,
состояние флага транзакции поддерживается и для второго файла
«.asp». Если флаги транзакций, которые относятся ко второму
файлу «.asp», указывают на поддержку или на необходимость
транзакций, используется текущая транзакция. При этом новая
транзакция не начинается.

Работа объектов с двумя моделями. Объект COM с двумя
моделями при сохранении в состоянии «Приложение» вызывает
ошибку, если он не поддерживает сортировщик свободных
потоков. Для сохранения в состоянии «Приложение» объекты с
двумя моделями должны включать в себя сортировщик свободных
потоков.

Перенос в метабазу записей конфигурации. Следующие
записи реестра для IIS 4.0 перенесены в метабазу:
o ProcessorThreadMax
o ErrorsToNTLog
В IIS 5.1 все настраиваемые параметры ASP могут изменяться в
метабазе. Дополнительные сведения см. в разделе О метабазе.

Обеспечение безопасности для объектов COM локального
сервера. В IIS используется новая возможность Windows COM,
которая имеет название сокрытие. Речь идет о возможности
создания экземпляров локальных серверных приложений из файла
.asp с использованием контекста безопасности исходного клиента.
В прежних версиях код, назначаемый локальному объекту COM на
сервере, определялся кодом пользователя, создающего экземпляр
объекта.

Раннее освобождение объектов. В IIS 4.0 объекты COM
освобождались только по завершении обработки страницы в ASP. В
IIS 5.1, если объект COM не использует метод OnEndPage и число
ссылок на этот объект равно нулю, освобождение объекта
происходит еще до завершения обработки.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права
защищены.
Учебник ASP
Средства Microsoft® Active Server Pages (ASP) используются для
создания динамических и интерактивных веб-страниц. Страница ASP
представляет собой HTML-страницу, содержащую команды сценариев,
которые обрабатываются веб-сервером перед отправкой в обозреватель
пользователя. Этим объясняется происхождение термина «сценарий на
стороне сервера».
Простейшим языком для создания веб-страниц является HTML, но он
позволяет создавать только статические страницы. Когда клиент
запрашивает статический HTML-файл у веб-сервера, сервер отправляет
HTML-файл непосредственно клиенту без какой-либо предварительной
обработки (Рис. 1). Затем обозреватель пользователя обрабатывает
HTML-код и выводит содержимое на экран.
Рис. 1
Простейшим языком для создания ASP-страниц является VBScript. В
данном учебнике все примеры программ написаны на VBScript, за
исключением примеров, которые для сравнения продублированы на
JScript. Когда клиент запрашивает ASP-файл с веб-сервера, сервер
отправляет ASP-файл через обработчик ASP, где весь код сценария на
стороне сервера выполняется или преобразуется в HTML-код (Рис. 2).
Затем преобразованный код отправляется веб-клиенту.
Рис. 2
В ASP процесс создания веб-приложений значительно упрощен по
сравнению с привычными средствами для разработки приложений
Common Gateway Interface (CGI). Так, подключение к базе данных и
задействование дополнительных возможностей настройки веб-страниц
может быть реализовано всего несколькими строками сценария. Если
прежде решение подобных задач требовало владения языком PERL или
C, то сейчас, при работе с ASP достаточно лишь знания Microsoft JScript
(реализованная корпорацией Майкрософт спецификация языка ECMA
262), Microsoft Visual Basic® Scripting Edition (VBScript) или другого COMсовместимого языка (JavaScript, PERL и т.п.), которые обычно
используются при создании веб-сценариев.
Использование компонентов COM позволяет значительно расширить
возможности ASP-страниц. Компоненты COM являются фрагментами
скомпилированного кода, которые могут вызываться из ASPстраниц. Компоненты COM — это защищенные, компактные и
допускающие многократное использование объекты, скомпилированные
в виде библиотек DLL. Они могут быть написаны на Visual C++, Visual
Basic или на других языках, поддерживающих технологию COM.
Данный учебник состоит из следующих разделов.



Раздел 1. Создание ASP-страниц В этом разделе создается
первая ASP-страница и форма сбора данных, выполняется
подключение к базе данных и выводится таблица Microsoft Excel.
Работа с данным разделом предполагает определенное знакомство
пользователя с процессом создания HTML-страниц.
Раздел 2. Использование COM-компонентов на ASPстраницах Во втором разделе используются некоторые COMкомпоненты, включенные в ASP, для чередования рекламных
объявлений и для регистрации активности веб-узла.
Раздел 3. Поддержка состояния сеанса в веб-приложении В
этом разделе рассматриваются различные способы поддержки
сеансов на ASP-страницах.
Приступая к работе...
Эти три раздела содержат пошаговые процедуры и примеры,
позволяющие создавать ASP-страницы с использованием VBScript. Для
загрузки и выполнения примеров учебных программ требуются
привилегии администратора на компьютере, на котором выполняется
IIS. Стандартные настройки безопасности IIS позволяют выполнять
учебные примеры, но, возможно, потребуется их изменение.
Если при открытии ASP-страницы в обозревателе возникает ошибка,
попробуйте выполнить следующие действия.



Закройте ASP-файл в текстовом редакторе. Если HTML-страница
открыта в текстовом редакторе, сервер не сможет ее отобразить.
Убедитесь, что в папке x:\InetPub\Wwwroot\Tutorial существует
файл с правильным именем и расширением.
Проверьте правильность URL-адреса в адресной строке
обозревателя и при необходимости исправьте его. Адрес должен

выглядеть как http://localhost/Tutorial/MyFile.asp или
http://имя_компьютера/Tutorial/MyFile.asp.
Убедитесь, что веб-сервер работает. Для этого введите в адресную
строку следующий адрес: http://localhost/localstart.asp. Если будет
получено сообщение об ошибке Не удается отобразить
требуемую страницу, возможно, веб-служба не выполняется.
Чтобы запустить веб-службу, нажмите кнопку Пуск, выберите
команду Выполнить и в поле Открыть введите строку cmd. В
окне командной строки введите net start w3svc.
Если эти действия не помогли, ошибка не является общей. Внимательно
прочитайте сообщение об ошибке в окне обозревателя, чтобы
определить ее причину. Ниже приведены примеры возможных ошибок и
их описания.




Ошибка сервера Ошибка произошла на сервере IIS.
Ошибка VBScript или JScript Возможно, ошибка в программе.
ADODB Возможно, повреждена база данных.
Безопасность и Нет доступа Эти ошибки менее серьезные. Надо
проверить разрешения на доступ к файлам и папкам, особенно к
файлам базы данных, к которым должен быть доступ на чтение и
запись в случае изменения данных.
Веб-разрешения устанавливаются в IIS с помощью оснастки IIS. Однако
эти разрешения могут быть переопределены NTFS-разрешениями на
доступ к отдельным файлам и папкам. Даже если в IIS пользователю
разрешен доступ к веб-узлу, но NTFS-разрешения запрещают доступ к
файлу ASP или файлу базы данных, пользователь не увидит этот файл.
Если используется анонимная проверка подлинности, необходимо
установить NTFS-разрешения для обеспечения доступа с использованием
учетных записей IWAM_имя_компьютера и IUSR_имя_компьютера. См.
разделы справки IIS, посвященные безопасности и установке
разрешений, а также статьи IIS TechNet, в которых рассматривается
безопасность NTFS.
Если не выполнялась специальная настройка IIS, по умолчанию
создается домашний каталог x:\Inetpub\Wwwroot, где x —диск, на
котором установлена система Windows. В каталоге x:\Inetpub\Wwwroot
создайте подкаталог Tutorial. При работе над уроками в каждом из
разделов сохраняйте результаты в каталоге
x:\Inetpub\Wwwroot\Tutorial. Просматривайте свою работу через вебсервер путем ввода в адресной строке обозревателя адреса
http://localhost/Tutorial/имя_файла.asp, где имя_файла.asp —имя
вашего файла.
По умолчанию Internet Explorer выводит общие сообщения при наличии
ошибки на веб-странице. Вам могут потребоваться подробные сообщения
об ошибках, поэтому следует отключить свойство Internet Explorer,
позволяющее игнорировать сообщения об ошибках, переданные с
сервера IIS. В Internet Explorer в меню Сервис выберите пункт
Свойства обозревателя, перейдите на вкладку Дополнительно и
снимите флажок Выводить подробные сообщения об ошибках
HTTP.
Данный учебник не содержит сведений по следующим вопросам.


Полные сведения о языках VBScript и JScript , а также
рекомендации по созданию ASP-сценариев содержатся в разделе
Active Server Pages или на странице Windows Script Technologies.
Справочные страницы по всем встроенным объектам ASP
содержатся в разделе Встроенные объекты ASP.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права
защищены.
Раздел 1. Создание ASP-страниц
Раздел 1 посвящен созданию ASP-страниц (файлов .asp) с
использованием средств HTML и языка Microsoft® Visual Basic® Scripting
Edition (VBScript). Данный раздел содержит следующие уроки.




Урок 1. Создание ASP-страницы Четыре примера по написанию и
выполнению ASP-страниц с использованием языков HTML и
VBScript.
Урок 2. Отправка данных с использованием форм Разработка
формы на HTML-странице для ввода пользовательских данных.
Урок 3. Создание гостевой книги Использование форм для сбора
данных от посетителей, сохранение этих сведений в базе данных
Microsoft Access и вывод содержимого этой базы данных на вебстранице.
Урок 4. Вывод таблицы Excel Вывод таблицы Microsoft Excel на
веб-странице.
Урок 1. Создание ASP-страницы
Лучшим способом изучения ASP является рассмотрение примеров.
Изменяйте целые значения, строки и инструкции, которые вас
интересуют, и наблюдайте за изменениями в обозревателе.
На этом уроке выполняются следующие примеры.


Пример 1 Создание, сохранение и выполнение ASP-страницы с
использованием языков HTML и VBScript.
Примеры 2, 3 и 4 Расширение функциональности и логики ASPстраницы с использованием встроенных функций и условных
операторов языка сценариев.
Языком сценариев по умолчанию для создания ASP-страниц является
VBScript, однако и в языке JScript используются те же ограничители. Как
и на любой странице .htm в качестве ограничителей HTML-тегов
используются угловые скобки:
<пример></пример>
Знак процента со скобками используется в качестве ограничителя текста
сценария:
<% пример %>
Между двумя ограничителями можно располагать несколько инструкций
сценария:
<font face="MS Gothic">
<%
'Создание переменной.
dim strGreeting
'Установка приветствия.
strGreeting = "Привет всем!"
'Вывод приветствия с использованием ASP-объекта Response.
Response.Write strGreeting & "<BR>"
'Вывод приветствия с использованием метода <%=.
%>
<%=strGreeting%>
</font>
Этот сценарий выведет в окне обозревателя следующий текст:
Привет всем!
Привет всем!
Предыдущий пример на языке JScript:
<%@ Language=JScript %>
<font face="MS Gothic">
<%
//Создание переменной.
var strGreeting;
//Установка приветствия.
strGreeting = "Привет всем!";
//Вывод приветствия с использованием ASP-объекта Response.
Response.Write(strGreeting + "<BR>");
//Вывод приветствия с использованием метода <%=.
%>
<%=strGreeting%>
</font>
Для создания ASP-страниц используйте текстовый редактор (например
«Блокнот») и сохраняйте файлы страниц с расширением .asp вместо
.htm. Расширение .asp говорит серверу IIS о том, что перед отправкой
страницы клиенту ее необходимо передать обработчику ASP.
(Примечание. Если в диалоговом окне Сохранение редактора
«Блокнот» в списке Тип файла выбран пункт Текстовые документы, к
имени файла автоматически добавляется расширение .txt. Чтобы
избежать этого, в списке Тип файла выберите пункт Все файлы, затем
в поле Имя файла введите полное имя файла MyFile.asp и нажмите
кнопку Сохранить.)
Пример 1
В этом примере выводится приветствие, а также дата и текущее время.
Для выполнения этого примера скопируйте следующий текст в пустой
файл через буфер обмена и сохраните этот файл в папке
x:\Inetpub\Wwwroot\Tutorial с именем Example1.asp. Для просмотра
примера введите адрес http://localhost/Tutorial/Example1.asp в
адресную строку обозревателя.
<%@ Language=VBScript %>
<html>
<head>
<title>Пример 1</title>
</head>
<body>
<font face="MS Gothic">
<H1>Добро пожаловать на мою домашнюю страницу</H1>
<%
'Создание некоторых переменных.
dim strDynamicDate
dim strDynamicTime
'Получение даты и времени.
strDynamicDate = Date()
strDynamicTime = Time()
'Вывод приветствия с учетом времени путем сравнения двух последних знаков
в строке strDymamicTime со строкой «PM».
If "PM" = Right(strDynamicTime, 2) Then
Response.Write "<H3>Добрый день!</H3>"
Else
Response.Write "<H3>Доброе утро!</H3>"
End If
%>
Сегодняшняя дата: <%=strDynamicDate%>. Время: <%=strDynamicTime%>
</font>
</body>
</html>
При просмотре страницы в обозревателе она будет выглядеть примерно
так (в зависимости от даты и времени выполнения упражнения):
Добро пожаловать на мою
домашнюю страницу
Добрый день!
Сегодняшняя дата: 10/20/2000. Время: 7:29:50 PM
Примечание. Веб-сервер обрабатывает файл Example1.asp в
следующей последовательности.
1. Инструкция <%@ Language=VBScript %> является для
обработчика ASP признаком того, что сценарий следует
преобразовывать с помощью обработчика VBScript.
2. Обработчик ASP пропускает блоки HTML-кода.
3. Обработчик ASP выполняет инструкции внутри блоков <%...%> и
заменяет эти блоки прототипами. Полученные строки
Response.Write и <%=...%> сохраняются в памяти на сервере.
4. Перед тем, как страница покидает обработчик ASP, полученные
строки Response.Write и <%=...%> вставляются на место
соответствующих прототипов в HTML-файле.
5. Готовая страница принимается от обработчика ASP в виде файла с
HTML-кодом и отправляется клиенту.
Пример 2
В данном примере для добавления некоторой динамики и логики на ASPстранице используется цикл For...Next. Цикл For...Next является одной
из шести условных инструкций. Другими являются Do...Loop, For
Each...Next, If...Then...Else...End If, Select..Case...End Select и
While...Wend. Эти инструкции документированы на странице Windows
Script Technologies в разделе VBScript.
Скопируйте следующий текст в текстовый редактор и сохраните его в
файле Example2.asp. Для просмотра примера введите адрес
http://localhost/Tutorial/Example2.asp в адресную строку
обозревателя.
Порядок обработки страницы тот же, что и для Example1.asp.
<%@ Language=VBScript %>
<html>
<head>
<title>Пример 2</title>
</head>
<body>
<font face="MS Gothic">
<%
'Создание переменной.
dim strTemp
dim font1, font2, font3, font, size
'Установка значения переменной.
strTemp= "ПРИОБРЕТИТЕ НАШ ПРОДУКТ!"
fontsize = 0
'Вывод строки 5 раз с помощью цикла For...Next.
For i = 1 to 5
'Закрывающий ограничитель сценария — разрешение использования HTML-кода
и <%=...
%>.
<table align=center><font size= <%=fontsize%>> <%=strTemp%>
</font></table>
<%
fontsize = fontsize + i
Next
%>
<table align=center><font size=6><B> ОН СТОИТ ТОГО! <B></font></table><BR>
</font>
</body>
</html>
При просмотре страницы в обозревателе она будет выглядеть примерно
так.
ПРИОБРЕТИТЕ НАШ ПРОДУКТ!
ПРИОБРЕТИТЕ НАШ ПРОДУКТ!
ПРИОБРЕТИТЕ НАШ ПРОДУКТ!
ПРИОБРЕТИТЕ НАШ ПРОДУКТ!
ПРИОБРЕТИТЕ НАШ
ПРОДУКТ!
ОН СТОИТ ТОГО!
Пример 2 на языке JScript.
<%@ Language=JScript %>
<html>
<head>
<title>Пример 2</title>
</head>
<body>
<font face="MS Gothic">
<%
//Создание переменной.
var strTemp;
var font1, font2, font3, font, size;
//Установка значения переменной.
strTemp= "BUY MY PRODUCT!";
fontsize = 0;
// Вывод строки 5 раз с помощью цикла For...Next.
for (i = 1; i < 6; i++) {
// Закрывающий ограничитель сценария — разрешение использования HTML-кода и
<%=...
%>.
<table align=center><font size= <%=fontsize%>> <%=strTemp%> </font></table>
<%
fontsize = fontsize + i;
}
%>
<table align=center><font size=6><B> ОН СТОИТ ТОГО! <B></font></table><BR>
</font>
</body>
</html>
Пример 3
Каждый день многоязыковых веб-узлов становится все больше,
поскольку предприятия предлагают свои продукты по всему миру.
Использование национальных настроек для представления даты,
времени и денежных единиц является хорошей практикой.
В третьем примере готовая функция выводит на ASP-страницу дату и
денежную единицу. Форматы вывода даты и денежной единицы
изменяются для разных стран с помощью функций GetLocale,
SetLocale, FormatCurrency и FormatDateTime. Идентификаторы
языков перечислены в документе Locale ID Chart библиотеки MSDN. (В
этом примере не выполняется изменение кодовой страницы
(CodePage) для поддержки вывода неевропейских знаков на
европейских операционных системах. Дополнительные сведения
содержатся в разделах документации IIS, посвященных кодовым
страницам.)
Примечание. VBScript поддерживает более 90 готовых функций. Все
они подробно документированы на странице Windows Script Technologies.
Для просмотра этой документации последовательно выберите ссылки
VBScript, Documentation, Language Reference и Functions.
Скопируйте следующий текст в текстовый редактор и сохраните его в
файле Example3.asp в каталоге x:\Inetpub\Wwwroot\Tutorial. Для
просмотра примера введите адрес
http://localhost/Tutorial/Example3.asp в адресную строку
обозревателя.
<%@ Language=VBScript %>
<html>
<head>
<title>Пример 3</title>
</head>
<body>
<font face="MS Gothic">
<H3>Благодарим за приобретение.
отчета.</H3>
<%
'Создание переменных.
dim saveLocale
dim totalBill
Рекомендуем распечатать эту страницу для
'Установка значений переменных.
saveLocale = GetLocale
totalBill = CCur(85.50)
'Для каждой страны задать формат вывода даты и денежной единицы
SetLocale("fr")
Response.Write"<B>Формат для французского языка:</B><BR>"
Response.Write FormatDateTime(Date, 1) & "<BR>"
Response.Write FormatCurrency(totalBill) & "<BR>"
SetLocale("de")
Response.Write"<B>Формат для немецкого языка:</B><BR>"
Response.Write FormatDateTime(Date, 1) & "<BR>"
Response.Write FormatCurrency(totalBill) & "<BR>"
SetLocale("en-au")
Response.Write"<B>Формат для английского языка (Австралия):</B><BR>"
Response.Write FormatDateTime(Date, 1)& "<BR>"
Response.Write FormatCurrency(totalBill) & "<BR>"
'Восстановление исходных настроек
SetLocale(saveLocale)
%>
</font>
</body>
</html>
При просмотре страницы в обозревателе она будет выглядеть так.
Благодарим за приобретение. Рекомендуем распечатать
эту страницу для отчета.
Формат для французского языка:
vendredi 20 octobre 2000
85,50 F
Формат для немецкого языка:
Freitag, 20. Oktober 2000
85,50 DM
Формат для английского языка (Австралия):
Friday, 20 October 2000
$85.50
Пример 4
Наиболее часто используемыми в сценариях ASP функциями являются
функции для работы со строками. Наиболее мощные строковые функции
используют регулярные выражения. Поскольку к регулярным
выражениям привыкнуть достаточно сложно, в четвертом примере
показано, как можно выполнить замену знаков в строке с
использованием как строкового выражения, так и регулярного
выражения. Определение регулярных выражений можно найти в
документации Windows Script Technologies. Для просмотра документации
последовательно выберите ссылки VBScript, Documentation, Regular
Expressions Guide.
Скопируйте следующий текст в текстовый редактор и сохраните его в
файле Example4.asp в каталоге x:\Inetpub\Wwwroot\Tutorial. Для
просмотра примера введите адрес
http://localhost/Tutorial/Example4.asp в адресную строку
обозревателя.
<%@ Language=VBScript %>
<html>
<head>
<title>Пример 4</title>
</head>
<body>
<font face="MS Gothic">
<H3>Изменение адреса заказчика</H3>
<%
'Создание переменных.
dim strString
dim strSearchFor
' как строка
dim reSearchFor
' как регулярное выражение
dim strReplaceWith
'Установка значений переменных.
strString = "Jane Doe<BR>100 Orange Road<BR>Orangeville,
WA<BR>98100<BR>800.555.1212<BR>"
'
С использованием объекта-строки
strSearchFor = "100 Orange Road<BR>Orangeville, WA<BR>98100"
'
С использованием объекта-регулярного выражения
Set reSearchFor = New RegExp
reSearchFor.Pattern = "100 Orange Road<BR>Orangeville, WA<BR>98100"
reSearchFor.IgnoreCase = False
strReplaceWith = "200 Bluebell Court<BR>Blueville, WA<BR>98200"
'Проверка существования strSearchFor...
'
с использованием объекта-строки.
If Instr(strString, strSearchFor) Then
Response.Write "Строка strSearchFor найдена в strString<BR>"
Else
Response.Write "Ошибка"
End If
'
с использованием объекта-регулярного выражения.
If reSearchFor.Test(strString) Then
Response.Write "Строка reSearchFor.Pattern найдена в strString<BR>"
Else
Response.Write "Ошибка"
End If
'Replace the string...
Response.Write "<BR>Исходная строка:<BR>" & strString & "<BR>"
'
с использованием объекта-строки.
Response.Write "Строка после замены strSearchFor:<BR>"
Response.Write Replace(strString, strSearchFor, strReplaceWith) & "<BR>"
'
с использованием объекта-регулярного выражения.
Response.Write "Строка после замены reSearchFor:<BR>"
Response.Write reSearchFor.Replace(strString, strReplaceWith) & "<BR>"
%>
</font>
</body>
</html>
При просмотре страницы в обозревателе она будет выглядеть так.
Изменение адреса заказчика
Строка strSearchFor найдена в strString
Строка reSearchFor.Pattern найдена в strString
Исходная строка:
Jane Doe
100 Orange Road
Orangeville, WA
98100
800.555.1212
Строка после замены strSearchFor:
Jane Doe
200 Bluebell Court
Blueville, WA
98200
800.555.1212
Строка после замены reSearchFor:
Jane Doe
200 Bluebell Court
Blueville, WA
98200
800.555.1212
Урок 2. Отправка данных с использованием
форм
Обычным способом получения данных от пользователей в серверных
приложениях в интрасетях и Интернете является создание формы на
веб-странице. ASP включает следующие два семейства в объект Request
для обработки данных, полученных из форм: QueryString и Form.
На этом уроке создается HTML-страница, которая получает
пользовательские данные через HTML-форму и отправляет эти данные
обратно на ту же страницу веб-сервера. Затем веб-сервер выводит
пользовательские данные. Далее в этом разделе формы будут
использованы для создания гостевой книги — приложения, на основе
сценариев ASP. На этом уроке выполняются следующие примеры.


Пример 1 Вывод выбранных элементов формы.
Пример 2 Вывод текстовых полей в форме, прием вводимых в
форму пользовательских данных и вывод этих данных на вебстраницу.
Пример 1. Кнопки и связанные с ними элементы
управления
Формы могут содержать много разных элементов управления,
позволяющих пользователям вводить данные. В данном примере
рассматриваются пять типов элементов управления формы. Этими
элементами являются переключатели (RADIO), кнопки отправки
(SUBMIT), кнопки сброса (RESET), флажки (CHECKBOX) и текстовые
поля (TEXT).
После того, как пользователь ввел данные в форму, эти данные должны
быть переданы веб-приложению. Когда пользователь нажимает на вебстранице кнопку с надписью «Отправить», данные из формы передаются
от клиента на веб-страницу, которая указана в элементе ACTION тега
формы. Эта веб-страница не обязательно должна совпадать с
вызывающей страницей. В этом примере веб-страница, указанная в
элементе ACTION, совпадает с вызывающей страницей, поэтому нет
необходимости вызова другой страницы.
В этом примере для отправки данных из обозревателя клиента на вебсервер используется элемент METHOD="POST". При использовании в
форме элемента METHOD="POST" пользовательские данные
размещаются в семействе Form объекта Request.
Скопируйте следующий текст в текстовый редактор и сохраните его в
файле Button.asp в каталоге x:\Inetpub\Wwwroot\Tutorial. Для
просмотра примера введите адрес
http://localhost/Tutorial/Button.asp в адресную строку обозревателя.
<%@ Language=VBScript %>
<html>
<head>
<title>Форма с кнопками</title>
</head>
<body>
<font face="MS Gothic">
<FORM NAME="Пример формы с кнопками" METHOD="POST" ACTION="button.asp">
<H3>Опыт в программировании:</H3>
<p>
<INPUT TYPE="RADIO" NAME= "choice" VALUE="Менее 1 года"> Менее 1 года.<BR>
<INPUT TYPE="RADIO" NAME= "choice" VALUE="От 1 года до 5 лет"> От 1 года до
5 лет.<BR>
<INPUT TYPE="RADIO" NAME= "choice" VALUE="Более 5 лет"> Более 5 лет.<BR>
</p>
<p>
<INPUT TYPE="SUBMIT" VALUE="Отправить">
<INPUT TYPE="RESET" VALUE="Очистить форму">
</p>
</form>
<%
'Проверить, что данные были введены.
dim strChoice
strChoice = Request.Form("choice")
If "" = strChoice Then
Response.Write "<P>(Выбор не был сделан.)</P>"
Else
Response.Write "<P>Был сделан выбор: <B>" & strChoice & "</B></P>"
End If
%>
</font>
</body>
</html>
При просмотре страницы в обозревателе она будет выглядеть так.
Опыт в программировании:
Менее 1 года.
От 1 года до 5 лет.
Более 5 лет.
(Выбор не был сделан.)
Пример 2. Элементы формы ввода
В этом примере в форме ввода присутствуют три текстовых поля и два
флажка. В отличие от переключателей, пользователь может установить
несколько флажков одновременно. Для отправки данных обратно на
сервер снова будет использоваться стандартная кнопка Отправить.
В этом примере для отправки данных из обозревателя клиента на вебсервер используется элемент METHOD=GET. При использовании в форме
элемента METHOD=GET пользовательские данные размещаются в
семействе QueryString объекта Request.
Обратите внимание на адресную строку после нажатия кнопки
Отправить — в конце URL-адреса будут добавлены элементы объекта
QueryString.
Скопируйте следующий текст в текстовый редактор и сохраните его в
файле Text.asp в каталоге x:\Inetpub\Wwwroot\Tutorial. Для просмотра
примера введите адрес http://localhost/Tutorial/Text.asp в адресную
строку обозревателя.
<%@ Language=VBScript %>
<html>
<head>
<title>Форма с текстовыми полями и флажками </title>
</head>
<body>
<font face="MS Gothic">
<FORM NAME="Пример с текстом и флажками" METHOD="GET" ACTION="text.asp">
<H3>Заполните эту форму для получения сведений о наших продуктах:</H3>
<p>
<table>
<tr>
<td><font face="MS Gothic">Имя (обязательно)</td>
<td><INPUT TYPE="TEXT" NAME="name" VALUE="" SIZE="20" MAXLENGTH="150"></td>
</tr><tr>
<td><font face="MS Gothic">Организация</td>
<td><INPUT TYPE="TEXT" NAME="company" VALUE="" SIZE="25"
MAXLENGTH="150"></td>
</tr><tr>
<td><font face="MS Gothic">Адрес электронной почты (обязательно)</td>
<td><INPUT TYPE="TEXT" NAME="email" VALUE="" SIZE="25"
MAXLENGTH="150"></td>
</tr>
</table>
</p>
<p>
Область запроса:<BR>
<INPUT TYPE="CHECKBOX" NAME= "info" VALUE="software">Программы<BR>
<INPUT TYPE="CHECKBOX" NAME= "info" VALUE="hardware">Оборудование <BR>
</p>
<p>
<INPUT TYPE="SUBMIT" VALUE="Отправить">
<INPUT TYPE="RESET" VALUE="Очистить форму">
</p>
</form>
<%
'Проверить, что данные были введены.
dim strName, strEmail, strCompany, strInfo
strName = Request.QueryString("name")
strEmail = Request.QueryString("email")
strCompany = Request.QueryString("company")
strInfo = Request.QueryString("info")
'Вывести введенные данные.
If ("" = strName) OR ("" = strEmail) Then
Response.Write "<P>(Обязательные данные еще не введены.)</P>"
Else
Response.Write "<P>Вы " & strName
If Not ("" = strCompany) Then
Response.Write " из организации " & strCompany
End If
Response.Write ". <BR>Адрес электронной почты: " & strEmail
If Not ("" = strInfo) Then
Response.Write " Область запроса: " & strInfo & ".</P>"
End If
End If
%>
</font>
</body>
</html>
При просмотре страницы в обозревателе она будет выглядеть так.
Заполните эту форму для получения сведений о наших
продуктах:
Имя (обязательно)
Организация
Адрес электронной почты (обязательно)
Область запроса:
Программы
Оборудование
(Обязательные данные еще не введены.)
Урок 3. Создание гостевой книги с
использованием базы данных
Для выполнения этого урока необходимо установить Microsoft Access.
Также следует иметь в виду, что этот урок можно будет выполнить в 64разрядной среде только после того, как будет разработан Microsoft
Access для 64-разрядной архитектуры.
На третьем уроке разрабатывается гостевая книга. Гостевая книга
позволяет посетителям веб-узла оставлять сведения о себе, например
имена, адреса электронной почты и комментарии. На этом уроке после
создания базы данных Access выполняются следующие примеры.



Пример 1 Создание ASP-страницы для подключения к базе
данных с использованием объекта ADO Connection.
Пример 2 Создание ASP-страницы для подключения к базе
данных с совместным использованием объектов Connection и
Command.
Пример 3 Создание ASP-страницы для вывода в окне
обозревателя сведений из гостевой книги, находящихся в базе
данных.
Создание базы данных Access
Создайте базу данных Access с именем GuestBook.mdb и сохраните ее в
каталоге x:\Inetpub\Wwwroot\Tutorial. Создайте в этой базе данных
таблицу с именем GuestBook. Воспользуйтесь режимом Access
Создание таблицы в режиме конструктора, чтобы добавить
следующие поля и свойства.
Имя поля Тип данных Общие свойства поля
FID
Счетчик
Размер поля=Длинное целое,
Новые значения=Последовательные,
Индекс=Да(Совпадения не допускаются)
FTB1
Текст
Размер поля=255,
Обязательное поле=Нет,
Пустые строки=Да,
Индекс=Нет
FTB2
Текст
Размер поля=255,
Обязательное поле=Нет,
Пустые строки=Да,
Индекс=Нет
FTB3
Текст
Размер поля=255,
Обязательное поле=Нет,
Пустые строки=Да,
Индекс=Нет
FTB4
Текст
Размер поля=255,
Обязательное поле=Нет,
Пустые строки=Да,
Индекс=Нет
FMB1
Memo
Обязательное поле=Нет,
Пустые строки=Да
Создание ASP-страницы для добавления данных в базу данных
Access
Получив базу данных Access, можно создать ASP-страницу для
подключения к этой базе данных и чтения входящих данных с
использованием объектов Microsoft ActiveX® Data Objects (ADO). ADO
представляет собой семейство объектов с методами и свойствами,
позволяющими работать с данными, содержащимися в базах данных
практически любого типа. (Если планируется частое использование баз
данных, рекомендуется приобрести руководство программиста по ADO. В
следующих примерах демонстрируются только наиболее общие
возможности ADO, которых достаточно для открытия, чтения и записи
базы данных.)
Два следующих примера дают одинаковые результаты, но в первом из
них используется только объект Connection, тогда как во втором часть
работы выполняется намного более мощным объектом Command.
Сравните эти два примера, чтобы понять, как эти объекты связываются
между собой. После ознакомления с этими объектами воспользуйтесь
руководством программиста по ADO и поэкспериментируйте с другими
методами и свойствами.
Чтобы получить пример сообщения об ошибке ADO на ASP-странице,
попробуйте просмотреть эту страницу после переименования базы
данных, после ошибочного ввода адреса строку подключения или после
ограничения доступа к базе данных только на чтение.
Пример 1. Использование только ADO-объекта Connection
Скопируйте следующий текст в текстовый редактор и сохраните его в
файле GuestBook1.asp в каталоге x:\Inetpub\Wwwroot\Tutorial. Для
просмотра примера введите адрес
http://localhost/Tutorial/GuestBook1.asp в адресную строку
обозревателя.
<%@ Language=VBScript %>
<html>
<head>
<title>Гостевая книга с использованием только объекта Connection</title>
</head>
<body>
<font face="MS Gothic">
<h2>Гостевая книга с использованием только объекта Connection</h2>
<%
If Not Request.QueryString("Message") = "True" Then
'Данные еще не введены, следует вывести форму.
%>
<p>
<FORM NAME="GuestBook1" METHOD="GET" ACTION="guestbook1.asp">
<table>
<tr>
<td><font face="MS Gothic">От:</td><td><INPUT TYPE="TEXT"
NAME="From"></td>
</tr><tr>
<td><font face="MS Gothic">Адрес электронной почты:</td><td><INPUT
TYPE="TEXT" NAME="EmailAdd"></td>
</tr><tr>
<td><font face="MS Gothic">Копия:</td><td><INPUT TYPE="TEXT"
NAME="CC"></td>
</tr><tr>
<td><font face="MS Gothic">Тема:</td><td><INPUT TYPE="TEXT"
NAME="Subject"></td>
</tr>
</table>
Сообщение:<br><TEXTAREA NAME="Memo" ROWS=6 COLS=70></TEXTAREA>
</p>
<p>
<INPUT TYPE="HIDDEN" NAME="Message" VALUE="True">
<INPUT TYPE="SUBMIT" VALUE="Отправить данные">
</FORM>
</p>
<%
Else
'Выше кнопка HIDDEN устанавливает значение переменной Message в True.
'Данные введены в форму.
'Получение данных из формы. Они будут помещены в базу данных.
'Access не принимает некоторые знаки (например апострофы) поэтому
закодируем
' данные с помощью метода HTMLEncode ASP-объекта Server.
dim strTB1, strTB2, strTB3, strTB4, strMB1, strCommand
strTB1 = Server.HTMLEncode(Request.QueryString("From"))
strTB2 = Server.HTMLEncode(Request.QueryString("EMailAdd"))
strTB3 = Server.HTMLEncode(Request.QueryString("CC"))
strTB4 = Server.HTMLEncode(Request.QueryString("Subject"))
strMB1 = Server.HTMLEncode(Request.QueryString("Memo"))
'Строка подключения. ADO использует ее для подключения к базе данных
через драйвер Access.
'В строке указывается имя поставщика драйвера Access и имя базы данных
Access.
'Строки подключения могут немного отличаться в зависимости от
поставщика,
' но все они используют точку с запятой для разделения переменных.
'Если эта строка вызывает ошибку, выполните в реестре поиск по образцу
' Microsoft.JET и убедитесь, что используется версия 4.0.
strProvider = "Provider=Microsoft.JET.OLEDB.4.0;Data
Source=C:\InetPub\Wwwroot\Tutorial\guestbook.mdb;"
'Создание экземпляра ADO-объекта Connection.
'ADO предоставляет также 4 других объекта с разными методами и
'свойствами, позволяющими выполнять разнообразные действия с базами
данных.
Set objConn = server.createobject("ADODB.Connection")
'Метод Open объекта Connection использует строку подключения для
' подключения к базе данных.
objConn.Open strProvider
'Определение запроса.
'Существуют различные типы запросов, позволяющих добавлять, удалять и
получать данные.
'Этот запрос будет добавлять данные в базу данных с использованием
ключевых слов INSERT INTO.
'Здесь GuestBook — это имя таблицы.
'Здесь для ограничения строк нужно использовать апострофы.
strCommand = "INSERT INTO GuestBook (FTB1,FTB2,FTB3,FTB4,FMB1) VALUES
('"
strCommand = strCommand & strTB1 & "','" & strTB2 & "','" & strTB3 &
"','" & strTB4 & "','" & strMB1
strCommand = strCommand & "')"
'Выполнить запрос для добавления данных в базу данных.
objConn.Execute strCommand
Response.Write("Спасибо! Ваши данные добавлены.")
End If
%>
</font>
</body>
</html>
При просмотре страницы в обозревателе она будет выглядеть так.
Гостевая книга с использованием только
объекта Connection
От:
Адрес электронной почты:
Копия:
Тема:
Сообщение:
Пример 2: Совместное использование объектов Connection
и Command
Скопируйте следующий текст в текстовый редактор и сохраните его в
файле GuestBook2.asp в каталоге x:\Inetpub\Wwwroot\Tutorial. Для
просмотра примера введите адрес
http://localhost/Tutorial/GuestBook2.asp в адресную строку
обозревателя.
<%@ Language=VBScript %>
<html>
<head>
<title>Гостевая книга с использованием объектов Connection и
Command</title>
</head>
<body>
<font face="MS Gothic">
<h2>Гостевая книга с использованием объектов Connection и Command</h2>
<%
If Not Request.QueryString("Message") = "True" Then
'Данные еще не введены, следует вывести форму.
%>
<p>
<FORM NAME="GuestBook2" METHOD="GET" ACTION="guestbook2.asp">
<table>
<tr>
<td><font face="MS Gothic">От:</td><td><INPUT TYPE="TEXT"
NAME="From"></td>
</tr><tr>
<td><font face="MS Gothic">Адрес электронной почты:</td><td><INPUT
TYPE="TEXT" NAME="EmailAdd"></td>
</tr><tr>
<td><font face="MS Gothic">Копия:</td><td><INPUT TYPE="TEXT"
NAME="CC"></td>
</tr><tr>
<td><font face="MS Gothic">Тема:</td><td><INPUT TYPE="TEXT"
NAME="Subject"></td>
</tr>
</table>
Сообщение:<br><TEXTAREA NAME="Memo" ROWS=6 COLS=70></TEXTAREA>
</p>
<p>
<INPUT TYPE="HIDDEN" NAME="Message" VALUE="True">
<INPUT TYPE="SUBMIT" VALUE="Отправить данные">
</FORM>
</p>
<%
Else
'Выше кнопка HIDDEN устанавливает значение переменной Message в True.
'Данные введены в форму.
'Получение данных из формы. Они будут помещены в базу данных.
'Access не принимает некоторые знаки (например апострофы) поэтому
закодируем
' данные с помощью метода HTMLEncode ASP-объекта Server.
dim strTB1, strTB2, strTB3, strTB4, strMB1
strTB1 = Server.HTMLEncode(Request.QueryString("From"))
strTB2 = Server.HTMLEncode(Request.QueryString("EMailAdd"))
strTB3 = Server.HTMLEncode(Request.QueryString("CC"))
strTB4 = Server.HTMLEncode(Request.QueryString("Subject"))
strMB1 = Server.HTMLEncode(Request.QueryString("Memo"))
'Тип данных
If strMB1 =
iLenMB1 =
Else
iLenMB1 =
End If
Memo в базе данных Access позволяет установить размер поля.
"" Then
255
Len(strMB1)
'Строка подключения. ADO использует ее для подключения к базе данных
через драйвер Access.
'В строке указывается имя поставщика драйвера Access и имя базы данных
Access.
'Строки подключения могут немного отличаться в зависимости от
поставщика,
' но все они используют точку с запятой для разделения переменных.
'Если эта строка вызывает ошибку, выполните в реестре поиск по образцу
' Microsoft.JET и убедитесь, что используется версия 4.0.
strProvider = "Provider=Microsoft.JET.OLEDB.4.0;Data
Source=C:\InetPub\Wwwroot\Tutorial\guestbook.mdb;"
'Создание экземпляра ADO-объекта Connection.
'ADO предоставляет также 4 других объекта с разными методами и
'свойствами, позволяющими выполнять разнообразные действия с базами
данных.
Set objConn = server.createobject("ADODB.Connection")
'Метод Open объекта Connection использует строку подключения для
' подключения к базе данных.
objConn.Open strProvider
'Создание экземпляра ADO-объекта Command.
'Хотя большую часть работы можно выполнить с помощью объекта Connection,
' объект Command предоставляет дополнительные возможности.
Set cm = Server.CreateObject("ADODB.Command")
'Свойство ActiveConnection позволяет использовать существующее
подключение.
'Связывание объекта Connection с объектом Command.
cm.ActiveConnection = objConn
'Определение запроса.
'Существуют различные типы запросов, позволяющих добавлять, удалять и
получать данные.
'Этот запрос будет добавлять данные в базу данных с использованием
ключевых слов INSERT INTO.
'При использовании объекта Command необходимо поместить запрос в
' свойство CommandText.
'Здесь GuestBook — это имя таблицы.
cm.CommandText = "INSERT INTO GuestBook (FTB1,FTB2,FTB3,FTB4,FMB1)
VALUES (?,?,?,?,?)"
'Здесь видны преимущества объекта Command.
'Помещая в предыдущую строку знаки вопроса, можно использовать семейство
Parameters,
' чтобы впоследствии эти знаки были заменены средствами ADO на
конкретные параметры, определенные ниже.
'cm.CreateParameter выполняет форматирование параметра.
'cm.Parameters.Append добавляет параметр к семейству.
'Параметры должны следовать в таком порядке: (TB1,TB2,TB3,TB4,MB1).
Set objparam = cm.CreateParameter(, 200, , 255, strTB1)
cm.Parameters.Append objparam
Set objparam = cm.CreateParameter(, 200, , 255, strTB2)
cm.Parameters.Append objparam
Set objparam = cm.CreateParameter(, 200, , 255, strTB3)
cm.Parameters.Append objparam
Set objparam = cm.CreateParameter(, 200, , 255, strTB4)
cm.Parameters.Append objparam
Set objparam = cm.CreateParameter(, 201, , iLenMB1, strMB1)
cm.Parameters.Append objparam
'Выполнить запрос для добавления данных в базу данных
'Здесь вызывается метод Execute объекта Command, а не
' метод Execute объекта Connection.
cm.Execute
Response.Write("Спасибо! Ваши данные добавлены.")
End If
%>
</font>
</body>
</html>
При просмотре страницы в обозревателе она будет выглядеть так же, как
GuestBook1.asp:
Гостевая книга с использованием только
объекта Connection
От:
Адрес электронной почты:
Копия:
Тема:
Сообщение:
Пример 3. Отображение базы данных в обозревателе
После занесения сведений в базу данных можно использовать вебстраницу, содержащую другой сценарий, для просмотра и изменения
данных. За исключением способа определения запроса, изменений в
ADO-программе немного.
В последних двух примерах был использован запрос INSERT INTO для
добавления записей в базу данных. В этом примере используется запрос
SELECT для выбора записей из базы данных и их вывода в
обозревателе. Также используется запрос DELETE для удаления записей
из базы данных. Единственным запросом, который не используется в
этих примерах, является запрос UPDATE, чей синтаксис похож на
синтаксис запроса INSERT INTO. Запрос UPDATE позволяет изменять
поля в базе данных.
Скопируйте следующий текст в текстовый редактор и сохраните его в
файле ViewGB.asp в каталоге x:\Inetpub\Wwwroot\Tutorial. Для
просмотра примера введите адрес
http://localhost/Tutorial/ViewGB.asp в адресную строку
обозревателя.
<%@ Language=VBScript %>
<html>
<head>
<title>Просмотр гостевой книги</title>
</head>
<body>
<font face="MS Gothic">
<h2>Просмотр гостевой книги</h2>
<%
'Анализ наличия введенных пользователем данных. Любое поле может быть
пустым.
'Сохранение введенных данных в форме.
dim strTB1, strTB2, strTB3, strTB4, strMB1, strSort, iDelete
strTB1 = Server.HTMLEncode(Request.QueryString("From"))
strTB2 = Server.HTMLEncode(Request.QueryString("EMailAdd"))
strTB3 = Server.HTMLEncode(Request.QueryString("CC"))
strTB4 = Server.HTMLEncode(Request.QueryString("Subject"))
strMB1 = Server.HTMLEncode(Request.QueryString("Memo"))
strSort = Server.HTMLEncode(Request.QueryString("sort"))
iDelete = CInt(Request.QueryString("Delete"))
'Эта переменная используется, но может быть не установлена...
If "" = strSort Then
strSort = "FID"
End If
%>
<p>
<FORM NAME="ViewGuestBook" METHOD="GET" ACTION="viewgb.asp">
<table>
<tr>
<td><font face="MS Gothic">Сортировать по столбцу:</td>
<td><SELECT NAME="sort" SIZE="1">
<OPTION VALUE="FID">Кодовый номер</OPTION>
<OPTION VALUE="FTB1">Имя</OPTION>
<OPTION VALUE="FTB2">Адрес электронной почты</OPTION>
<OPTION VALUE="FTB3">Копия</OPTION>
<OPTION VALUE="FTB4">Тема</OPTION>
<OPTION VALUE="FMB1">Сообщение</OPTION>
</SELECT></td>
</tr><tr>
<td><font face="MS Gothic">Имя содержит:</td>
<td><INPUT TYPE="TEXT" NAME="From" VALUE="<%=strTB1%>"></td>
</tr><tr>
<td><font face="MS Gothic">Адрес эл. почты содержит:</td>
<td><INPUT TYPE="TEXT" NAME="EmailAdd" VALUE="<%=strTB2%>"></td>
</tr><tr>
<td><font face="MS Gothic">Копия содержит:</td>
<td><INPUT TYPE="TEXT" NAME="CC" VALUE="<%=strTB3%>"></td>
</tr><tr>
<td><font face="MS Gothic">Тема содержит:</td>
<td><INPUT TYPE="TEXT" NAME="Subject" VALUE="<%=strTB4%>"></td>
</tr><tr>
<td><font face="MS Gothic">Сообщение содержит:</td>
<td><INPUT TYPE="TEXT" NAME="Memo" VALUE="<%=strMB1%>"></td>
</tr>
</table>
<INPUT TYPE="SUBMIT" VALUE="Отправить параметры поиска">
</p>
<%
'Создание строки подключения, создание экземпляра объекта Connection
' и подключение к базе данных.
strProvider = "Provider=Microsoft.JET.OLEDB.4.0;Data
Source=C:\InetPub\Wwwroot\Tutorial\guestbook.mdb;"
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open strProvider
'Определение запроса.
If iDelete = 0 Then
'Если переменная Delete не установлена, используется запрос SELECT.
'* обозначает все поля. ASC обозначает ASCII-текст. % — подстановочный
знак.
strQuery = "SELECT * FROM GuestBook"
strQuery = strQuery & " WHERE FTB1 LIKE '%" & strTB1 & "%'"
strQuery = strQuery & " AND FTB2 LIKE '%" & strTB2 & "%'"
strQuery = strQuery & " AND FTB3 LIKE '%" & strTB3 & "%'"
strQuery = strQuery & " AND FTB4 LIKE '%" & strTB4 & "%'"
strQuery = strQuery & " AND FMB1 LIKE '%" & strMB1 & "%'"
strQuery = strQuery & " ORDER BY " & StrSort & " ASC"
Else
'Требуется удалить запись.
strQuery = "DELETE FROM GuestBook WHERE FID=" & iDelete
End If
'При выполнении запроса SELECT создается ADO-объект Recordset.
'Он содержит данные, полученные из базы данных.
Set objRS = objConn.Execute(strQuery)
'Сейчас данные находятся в объекте Recordset,
' надо вывести их в таблице.
%>
<p>
<FORM NAME="EditGuestBook" METHOD="GET" ACTION="viewgb.asp">
<table border=1 cellpadding=4 >
<%
On Error Resume Next
If objRS.EOF Then
If iDelete = 0 Then
Response.Write "<tr><td><font face="MS Gothic">В базе
данных нет записей.</font></td></tr>"
Else
Response.Write "<tr><td><font face="MS Gothic">Запись " &
iDelete & " удалена.</font></td></tr>"
End If
Else
'Вывод имен полей с использованием некоторых методов и свойств
' объекта Recordset.
Response.Write "<tr>"
'Для каждого столбца в текущей строке...
For i = 1 to (objRS.Fields.Count - 1)
' вывод имени поля.
Response.Write "<td><font face="MS Gothic"><B>" &
objRS(i).Name & "</B></font></td>"
Next
Response.Write "<td><font face="MS
Gothic"><B>Удаление</B></font></td>"
Response.Write "</tr>"
'Вывод данных из полей с использованием некоторых других методов и
свойств
' объекта Recordset. Имея пример их использования,
' вы можете поэкспериментировать с другими методами и свойствами.
'Пока в наборе присутствуют записи...
While Not objRS.EOF
Response.Write "<tr>"
'Для каждого столбца в текущей строке...
For i = 1 to (objRS.Fields.Count - 1)
' вывод данных из поля.
Response.Write "<td><font face="MS Gothic">" & objRS(i) &
"</font></td>"
Next
'Добавление кнопки, которая будет передавать кодовый номер для
удаления записи.
%><td><INPUT TYPE="SUBMIT" NAME="Delete"
VALUE="<%=objRS(0)%>"></td><%
Response.Write "</tr>"
'Переход к следующей строке.
objRS.MoveNext
Wend
End If
%>
</table>
</FORM>
'objRS.EOF
<%
'Закрытие подключения.
objConn.Close
%>
</font>
</body>
</html>
При просмотре страницы в обозревателе она будет выглядеть так.
Просмотр гостевой книги
Сортировать по столбцу:
?????? ? ??? ??
Имя содержит:
Адрес эл. почты содержит:
Копия содержит:
Тема содержит:
Сообщение содержит:
В базе данных нет записей.
Урок 4. Вывод таблицы Excel
Для выполнения этого урока необходимо установить Microsoft Excel.
Также следует иметь в виду, что этот урок можно будет выполнить в 64разрядной среде только после того, как будет разработан Microsoft Excel
для 64-разрядной архитектуры.
На этом уроке показано, как вывести таблицу Microsoft Excel на вебстраницу. Как и на предыдущем уроке, используется ADO. Однако на
этом уроке выполняется подключение к таблице Excel, а не к базе
данных Access.
Подготовка таблицы Excel для вывода на ASP-страницу
1. С помощью Excel 98 или Excel 2000 создайте таблицу и сохраните
ее в файле ASPTOC.xls в каталоге x:\Inetpub\Wwwroot\Tutorial.
При создании таблицы не задавайте специальное форматирование
и имена столбцов.
2. Заполните некоторые поля произвольными данными. Первая строка
ячеек содержит имена столбцов
3. Выделите строки и столбцы таблицы, которые будут выводиться на
веб-страницу. (Щелкните в одном из полей и переместите мышь по
диагонали, чтобы выделить блок полей.)
4. В меню Вставить выберите пункт Имя, а затем — пункт
Определить. Тем самым все книги Excel определяются по имени и
диапазону ячеек.
5. Убедитесь, что выделенный диапазон ячеек выводится правильно в
нижней части окна. Введите имя MYBOOK для книги и нажмите
кнопку Добавить. При любом изменении MYBOOK проверяйте, что
правильный диапазон ячеек отображается в текстовом поле
Формула в нижней части окна Присвоение имени. Простой
выбор MYBOOK после выделения нового блока ячеек не обновляет
диапазон ячеек.
6. Если это имя выводится в списке книг, нажмите кнопку ОК.
Сохраните таблицу.
7. Закройте Excel, чтобы снять блокировку с файла и предоставить
ASP-странице доступ к таблице.
В примерах урока 3 в строке подключения указывалось имя поставщика
конкретной DLL-библиотеки ADO. В этом примере используется имя
драйвера. При этом ASP-страница будет использовать поставщика по
умолчанию для этого имени драйвера.
Скопируйте следующий текст в текстовый редактор и сохраните его в
файле ViewExcel.asp в каталоге x:\Inetpub\Wwwroot\Tutorial. Для
просмотра примера введите адрес
http://localhost/Tutorial/ViewExcel.asp в адресную строку
обозревателя.
<%@ Language=VBScript %>
<html>
<head>
<title>Вывод таблицы Excel на веб-странице</title>
</head>
<body>
<font face="MS Gothic">
<h2>Вывод таблицы Excel на веб-странице</h2>
<%
' Создание строки подключения, создание экземпляра объекта Connection
' и подключение к базе данных.
strDriver = "Driver={Microsoft Excel Driver
(*.xls)};DBQ=C:\Inetpub\Wwwroot\Tutorial\MyExcel.xls;"
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open strDriver
'Выбор записей из таблицы Excel с использованием сохраненного имени книги.
strSELECT = "SELECT * from `MYBOOK`"
'Создание экземпляра ADO-объекта Recordset и его подключение к objConn.
Set objRS = Server.CreateObject("ADODB.Recordset")
objRS.Open strSELECT, objConn
'Вывод ячеек и строк таблицы с использованием метода GetString.
Response.Write "<H4>Получение данных Excel в одной строке с помощью метода
GetString</H4>"
Response.Write "<table border=1 ><tr><td>"
Response.Write objRS.GetString (, , "</td><td><font face="MS
Gothic">", "</font></td></tr><tr><td>", NBSPACE)
Response.Write "</td></tr></table>"
'Переход к первой записи.
objRS.MoveFirst
'Вывод ячеек и строк таблицы с использованием метода ViewGB.asp.
Response.Write "<H4>Получение данных Excel с помощью MoveNext</H4>"
'Вывод имен полей с использованием некоторых методов и свойств
'объекта Recordset.
Response.Write "<table border=1 ><tr>"
'Для каждого столбца в текущей строке...
For i = 0 to (objRS.Fields.Count - 1)
' вывод имени поля.
Response.Write "<td><font face="MS Gothic"><B>" &
objRS(i).Name & "</B></font></td>"
Next
'Пока не исчерпаны записи в наборе...
While Not objRS.EOF
Response.Write "</tr><tr>"
' Для каждого столбца в текущей строке...
For i = 0 to (objRS.Fields.Count - 1)
' вывод данных из поля.
%><td><font face="MS Gothic"><%=objRS(i)%></font></td><%
Next
'Переход к следующей строке.
objRS.MoveNext
Wend
Response.Write "</tr></table>"
'Закрытие подключения.
objConn.Close
%>
</font>
</body>
</html>
При просмотре страницы в обозревателе она будет выглядеть так.
Вывод таблицы Excel на веб-странице
Получение данных Excel в одной строке с помощью метода
GetString
A2 B2 C2
A3 B3 C3
Получение данных Excel с помощью MoveNext
A1 B1 C1
A2 B2 C2
A3 B3 C3
Следующий раздел: «Использование COMкомпонентов на ASP-страницах»
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права
защищены.
Раздел 2. Использование COMкомпонентов на ASP-страницах
Использование компонентов Microsoft® Component Object Model (COM)
при создании ASP-страниц позволяет существенно расширить их
возможности. Компоненты COM являются фрагментами
скомпилированного кода, которые могут вызываться из ASP-страниц.
Компоненты COM — это защищенные, компактные и допускающие
многократное использование объекты, скомпилированные в виде
библиотек DLL. Они могут быть написаны на Microsoft Visual C++®,
Microsoft Visual Basic® или на других языках, поддерживающих
технологию COM. Например, объекты Microsoft ActiveX® Data Objects
(ADO), которые использовались в первом разделе данного учебника,
предоставляют методы и свойства для эффективной работы с базами
данных. При использовании ADO нет необходимости в написании
собственных сложных программ доступа к данным, поскольку объекты
ADO созданы на основе компонентов COM.
В этом разделе используются COM-компоненты ASP, а также создаются
новые. В этом разделе показано, как разработать ASP-страницу, которая
предоставляет возможности, полезные в электронной коммерции. Раздел
состоит из следующих уроков.




Урок 1. Чередование рекламных объявлений Изменение
рекламных объявлений на веб-странице, запись пользовательских
данных и перенаправление пользователей на другую страницу при
щелчке объявления.
Урок 2. Подсчет числа посещений страницы Подсчет числа
посещений страницы пользователями.
Урок 3. Создание COM-объекта на Visual Basic Создание нового
объекта ActiveX с использованием Microsoft Visual Basic.
Урок 4. Создание COM-объекта на Java Создание нового объекта
ActiveX с использованием Microsoft Visual J++®.
Урок 1. Чередование рекламных
объявлений
Реклама является одним из основных видов деятельности в Интернете.
На данном уроке рассматривается использование компонента Ad Rotator,
который устанавливается совместно с IIS, для чередования рекламных
объявлений на веб-страницах. Каждый раз при загрузке или обновлении
веб-страницы компонент Ad Rotator выбирает для нее рекламное
объявление. Более того, если требуется поменять рекламное
объявление, нужно изменить его только в файлах перенаправления и
расписания чередования, а не в ASP-файлах, содержащих рекламу. Если
реклама присутствует на многих страницах веб-узла, это позволяет
сократить время разработки.
Для настройки компонента Ad Rotator требуются два файлы: файл
перенаправления, который содержит URL-ссылки на рекламные
объявления, и файл расписания чередования, который содержит
выводимые данные. После создания этих двух файлов компонент Ad
Rotator может вызываться с ASP-страницы веб-узла.
На этом уроке выполняются следующие примеры.




Пример 1 Создание файла расписания чередования для
компонента Ad Rotator, который создает ссылки на рекламные
рисунки на любой странице, вызывающей этот файл.
Example 2 Создание файла перенаправления для компонента Ad
Rotator, который определяет общие данные, а также данные,
относящиеся к каждому рекламному объявлению.
Пример 3 Создание заголовочного файла, содержащего вызовы
компонента Ad Rotator.
Пример 4 Проверка компонента Ad Rotator путем создания ASPстраницы, которая вызывает Ad Rotator для вывода и чередования
рекламных объявлений. Перед выполнением этого примера
необходимо выполнить примеры 1, 2 и 3.
Пример 1. Создание файла расписания чередования для
компонента Ad Rotator
Файл расписания чередования используется для хранения сведений о
выводимой рекламе, включая сведения о перенаправлении, размер
выводимой рекламы, рисунок, комментарий и число, показывающее как
часто выбирается реклама. Когда из ASP-страницы вызываются методы
компонента Ad Rotator, этот файл используется для выбора рекламы,
которая будет выводиться на странице.
Файл расписания чередования состоит из двух разделов, разделенных
звездочкой (*). В первом разделе содержатся сведения, общие для всех
рекламных объявлений, второй раздел содержит данные, относящиеся к
каждому отдельному объявлению. Для проверки файла расписания
чередования будут использованы некоторые рисунки с веб-узла
Microsoft.com. В следующем списке приведена структура файла
расписания чередования.
Раздел 1





Перенаправление Путь и имя в формате URL ASP-файла,
который может быть выполнен перед выводом рекламы. Этот файл
может использоваться для записи сведений о пользователе,
который щелкнул рекламное объявление на веб-странице. Это
могут быть такие сведения, как IP-адрес клиента, страница, на
которой пользователь увидел рекламу, как часто эта реклама
просматривается и т. д. Этот ASP-файл может также обрабатывать
ситуации, когда какому-либо рекламному объявлению не
сопоставлен URL-адрес с разделе 2. При выставлении счета
рекламодателю за каждое использование его рекламы на вашей
странице обычно следует показать, что все посещения не
выполнены одним пользователем путем многократного нажатия
кнопки Обновить..
Width Ширина каждого рекламного рисунка в пикселах. Значение
по умолчанию 440.
Height Высота каждого рекламного рисунка в пикселах. Значение
по умолчанию 60.
Border Толщина границы вокруг каждого рекламного рисунка.
Значение по умолчанию 1.
Звездочка (*) Отделяет первый раздел от второго. Этот знак
должен быть единственным в строке.
Раздел 2
Для каждого рекламного объявления необходимо указать следующие
сведения.

URL-адрес рисунка Виртуальный путь и имя файла рисунка
рекламного объявления.



URL-адрес домашней страницы рекламодателя URL-адрес, на
который нужно перейти при выборе этой ссылки. Если ссылка
отсутствует, используется дефис (-).
Текст Текст, выводимый в обозревателях, которые не
поддерживают вывод графики.
Весовой коэффициент Целое число, задающее относительный
вес данного рекламного объявления для выбора компонентом Ad
Rotator. Например, если в списке два рекламных объявления и у
одного из них весовой коэффициент 3, а у другого 7, то первое
объявление будет выбираться с вероятностью 30%, а второе — с
вероятностью 70%. В этом примере компонент Ad Rotator выбирает
рекламу Microsoft Windows® два раза из пяти, а рекламу Microsoft
Office — три раза из пяти.
Скопируйте следующий текст в текстовый редактор и сохраните его в
файле MyAdRot.txt в каталоге x:\Inetpub\Wwwroot\Tutorial.
REDIRECT AdRotRedirect.asp
WIDTH 250
HEIGHT 60
BORDER 0
*
http://www.microsoft.com/windows/images/bnrWinfam.gif
http://www.microsoft.com/windows
Microsoft Windows
2
http://www.microsoft.com/office/images/office_logo.gif
http://www.microsoft.com/office
Office 2000
3
Пример 2. Создание файла перенаправления для
компонента Ad Rotator
Когда пользователь щелкает рекламное объявление, файл
перенаправления компонента Ad Rotator, записанный в ASP, может
собрать некоторые сведения перед выводом рекламы и записать их в
файл.
Чтобы это работало, папка x:\InetPub\Wwwroot\Tutorial должна быть
доступна на чтение и запись для учетных записей IUSR_имя_компьютера
и IWAM_имя_компьютера. Другим способом является запись этих
сведений в базу данных Microsoft Access, как это сделано на третьем
уроке раздела 1 данного учебника.
Скопируйте следующий текст в текстовый редактор и сохраните его в
файле AdRotRedirect.asp в каталоге x:\Inetpub\Wwwroot\Tutorial.
<%@ Language=VBScript %>
<html>
<head>
<title>AdRotRedirect file</title>
</head>
<body>
<%
'Создание переменных.
dim strLogFile
'Получение физического пути этого веб-каталога.
'ASP-объект Server предоставляет множество полезных методов.
strLogFile = Server.MapPath(".") & "\AdRotLog.txt"
'Установка некоторых констант для работы с файлами.
Const cForAppending = 8
Const cTristateUseDefault = -2
'Создание объекта FileSystemObject,
' который обеспечивает доступ к файлам и папкам на диске.
Set fsoObject = Server.CreateObject("Scripting.FileSystemObject")
'Открытие дескриптора файла.
'True означает, что если файл не существует, то он будет создан.
Set tsObject = fsoObject.OpenTextFile(strLogFile, cForAppending, True)
'Запись сведений о пользователе, который щелкнул рекламное объявление.
'Используется метод Write ASP-объекта Request.
'Семейство ServerVariables ASP-объекта Request содержит широкий
' набор данных для каждого запроса к веб-серверу.
tsObject.WriteLine "--------------------"
tsObject.WriteLine Date & ", " & Time
tsObject.WriteLine Request.ServerVariables("LOGON_USER")
tsObject.WriteLine Request.ServerVariables("REMOTE_ADDR")
tsObject.WriteLine Request.QueryString("url")
tsObject.WriteLine Request.ServerVariables("HTTP_REFERER")
tsObject.WriteLine Request.ServerVariables("HTTP_USER_AGENT")
tsObject.Close
'Перенаправление на веб-узел рекламодателя с использованием метода
Redirect
' ASP-объекта Response.
'Когда компонент AdRotator вызывает страницу AdRotRedirect.asp, он
' автоматически передает URL-адрес рекламодателя в QueryString.
Response.Redirect Request.QueryString("url")
%>
</body>
</html>
Пример 3. Создание заголовочного файла для компонента
Ad Rotator
Заголовочные файлы используются для хранения кода, который будет
использоваться несколькими файлами ASP или HTML. Имеет смысл
поместить обращения к компоненту Ad Rotator в простую функцию в
заголовочном файле. При наличии заголовочного файла Ad Rotator для
вывода рекламного объявления достаточно выполнить один вызов
функции из любого файла ASP или HTML. Другим способом является
размещение кода из заголовочного файла во всех ASP-файлах из
которых будут выводиться рекламные объявления. Однако в таком
случае при необходимости изменения кода его придется менять в
каждом ASP-файле, а не в одном заголовочном файле.
В этом примере создается заголовочный файл Ad Rotator, содержащий
функцию с именем GetAd. Эта функция случайным образом выбирает
рекламные объявления для вывода на ASP-страницах.
Скопируйте следующий текст в текстовый редактор и сохраните его в
файле AdRotatorLogic.inc в каталоге x:\Inetpub\Wwwroot\Tutorial.
<%
Function GetAd()
dim objLoad
'Создание экземпляра компонента AdRotator.
Set objLoad = Server.CreateObject("MSWC.AdRotator")
'Установка свойства TargetFrame. Если веб-страница
' содержит рамки, это рамка, которая открывается по указанному URLадресу.
'Если HTML-страница не находит имя TARGET,
' страница будет открыта в новом окне.
objLoad.TargetFrame = "TARGET=new"
'Установка другого свойства компонента AdRotator.
objLoad.Border = 1
'Получение случайного рекламного объявления из текстового файла.
GetAd = objLoad.GetAdvertisement("MyAdRot.txt")
End Function
%>
Пример 4. Проверка компонента Ad Rotator
Для проверки приложения, созданного на основе компонента Ad Rotator,
необходимо создать ASP-страницу, которая вызывает функцию из
заголовочного файла Ad Rotator.
Скопируйте следующий текст в текстовый редактор и сохраните его в
файле DisplayAds.asp в каталоге x:\Inetpub\Wwwroot\Tutorial. Для
просмотра примера введите адрес
http://localhost/Tutorial/DisplayAds.asp в адресную строку
обозревателя.
<%@ Language=VBScript %>
<html>
<head>
<title>Вывод рекламного объявления</title>
</head>
<body>
<font face="MS Gothic">
<h2>Вывод рекламного объявления</h2>
<comment>Включение файла для получения рекламного объявления.</comment>
<!-- #include File = "AdRotatorLogic.inc" -->
<comment>Вызов функции из заголовочного файла.</comment>
<%=GetAd()%>
</font>
</body>
</html>
При просмотре страницы в обозревателе она будет выглядеть так.
Вывод рекламного объявления
Нажимайте в обозревателе кнопку Обновить примерно 20 раз и
наблюдайте за изменением рекламного объявления. Щелкните
рекламное объявление, чтобы посмотреть, как страница
AdRotRedirect.asp выполняет перенаправление на веб-узел
рекламодателя. Откройте файл AdRotLog.txt для просмотра сведений,
которые были записаны в него в момент щелчка рекламного объявления.
Урок 2. Подсчет числа посещений страницы
Бывает полезно знать сколько раз кто-либо запрашивал или посещал
веб-страницы. Часто посещаемые веб-узлы могут принести больший
доход от рекламы. Некоторые веб-узлы используют эти данные для
выставления счетов рекламодателям на основе фиксированного
гонорара за посещение. Сведения о посещаемости также позволяют
узнать, как пользователи перемещаются по веб-узлу и где лучше
разместить рекламные объявления. Наличие непосещаемых страниц
свидетельствует также о необходимости изменения структуры или
дизайна узла.
Компонент PageCounter использует внутренний объект для записи числа
посещений веб-страницы на сервере. Через определенные промежутки
времени компонент PageCounter сохраняет все сведения в текстовом
файле, поэтому значения счетчика посещений не будут потеряны в
случае отключения питания или сбоя системы. Компонент PageCounter
использует три следующих метода.

Hits Этот метод выводит число посещений веб-страницы. По
умолчанию это вызывающая страница.


PageHit Этот метод увеличивает число посещений текущей вебстраницы. Чтобы записать число посещений некоторой страницы,
необходимо вызвать этот метод из этой страницы.
Reset Этот метод устанавливает счетчик посещений страницы в
0. The default is the calling page.
Скопируйте следующий текст в текстовый редактор и сохраните его в
файле PageCounter.asp в каталоге x:\Inetpub\Wwwroot\Tutorial. Для
просмотра примера введите адрес
http://localhost/Tutorial/PageCounter.aspв адресную строку
обозревателя.
<%@ Language=VBScript %>
<html>
<head>
<title>Пример счетчика посещений</title>
</head>
<body>
<font face="MS Gothic">
<H3>Пример счетчика посещений</H3>
<p>
<FORM NAME="PageCounter" METHOD="GET" ACTION="PageCounter.asp">
<INPUT TYPE="CHECKBOX" NAME="reset" VALUE="True">Сбросить счетчик для этой
страницы?<BR>
<INPUT TYPE="SUBMIT" VALUE="Отправить">
</FORM>
</p>
<%
'Создание экземпляра объекта PageCounter.
Set MyPageCounter = Server.CreateObject("MSWC.PageCounter")
'Увеличить значение счетчика для этой страницы.
MyPageCounter.PageHit
If Request.QueryString("reset") = "True" Then
'Сбросить счетчик для этой страницы.
MyPageCounter.Reset("/Tutorial/PageCounter.asp")
End If
%>
Число посещений страницы = <%=MyPageCounter.Hits %><BR>
</font>
</body>
</html>
При просмотре страницы в обозревателе она будет выглядеть так.
Пример счетчика посещений
Сбросить счетчик для этой страницы?
Число посещений страницы = 1
Нажмите кнопку Обновить в обозревателе или кнопку Отправить на
странице и наблюдайте, как изменяется счетчик. Check the box if you
want to reset the counter.
Урок 3. Создание COM-объекта на Visual
Basic
На этом уроке используется Visual Basic для создания простого COMобъекта, который можно вызывать из ASP-страницы. Для выполнения
этого примера требуется Visual Basic с мастером ActiveX Wizard. Также
следует иметь в виду, что этот урок можно будет выполнить в 64разрядной среде только после того, как будет разработан Visual Basic
Runtime для 64-разрядной архитектуры. Создается 32-разрядный COMобъект, который выполняется в 64-разрядной среде, но вызывать 32разрядный COM-объект необходимо из 32-разрядного приложения.
Поскольку сервер IIS является 64-разрядным приложением, он не может
вызывать 32-разрядные объекты.
Предположим, что требуется создать веб-приложение с
функциональностью, которая не поддерживается в VBScript. В таком
случае необходимо создать специальную процедуру, которую можно
будет вызывать из любой ASP-страницы приложения.
Обычно это является адекватным решениям для реализации
специальных функций. Однако представьте себе, что требуется создать
веб-приложение, предназначенное для обслуживания тысяч
пользователей, и что ваша процедура содержит собственные функции,
исходный текст которых нежелательно предоставлять пользователям. В
этом случае реализация этих функций в форме COM-компонента более
предпочтительна. Компоненты обеспечивают лучшие безопасность и
производительность, чем сценарии, поскольку представляют собой
скомпилированный код. Компоненты также позволяют использовать
функциональность, предоставляемую языками Visual Basic, C++, Java
или другими COM-совместимыми языками.
Создание COM-объекта ActiveX
Использование мастера ActiveX DLL Wizard пакета Visual Basic является
самым простым способом создания COM-компонента. Создать COMкомпонент можно также с помощью Microsoft Visual C++ либо с
использованием библиотеки шаблонов ATL, либо путем написания
собственных программ. В данном примере используется Visual Basic.
На этом уроке рассматривается создание функции Visual Basic и ее
инкапсуляция в компонент. Visual Basic включает множество финансовых
функций, которые недоступны в VBScript. В данном примере
рассчитывается перспективная сумма сбережений на основе постоянного
процента и постоянных периодических взносов.
1. Откройте Visual Basic. Если не появилось окно New Project,
выберите в меню File пункт New Project.
2. Выберите пункт ActiveX DLL и нажмите кнопку OK.
3. Откроется окно с заголовком Project1 - Class1 (Code). В этом
окне будет находиться исходный текст программы.
4. В меню Project выберите команду Project1 Properties. На
странице свойств General в поле Project Name введите строку
ASPTut. Создаваемая библиотека будет называться ASPTut.dll.
Установите флажок Unattended Execution, чтобы проект
выполнялся без вмешательства пользователя и не включал
элементы пользовательского интерфейса. Убедитесь, что
значением Threading Model является Apartment Threaded,
чтобы к этой библиотеке DLL могли одновременно обращаться
несколько пользователей. Нажмите кнопку OK.
5. В Visual Basic определите класс, чтобы сгруппировать методы и
свойства. В окне Project - ASPTut выберите узел Class1 (Class1),
чтобы получить список свойств класса. Для Properties - Class1,
щелкните текстовое поле (Name) и измените имя класса на
Finance. При вызове этого COM-компонента из ASP-страницы или
другого сценария, будет использоваться имя ASPTut.Finance.
Щелкните раскрывающийся список рядом с Instancing и выберите
пункт 5 - MultiUse.
6. Изучите функцию Visual Basic, которая будет использоваться в этом
примере. Функция FV документирована в библиотеке MSDN в
разделе Visual Basic library.
7. Заголовок окна Project1 - Class1 (Code) должен поменяться на
ASPTut - Finance (Code). Скопируйте в это окно следующий
текст.
Option Explicit
'Объявление глобальных переменных, которые будут установлены функциями
Property.
Dim gAnnualIntRate As Double
Dim gNumPayPeriods As Integer
Dim gPayment As Double
Dim gPresentSavings As Variant 'Необязательно
Dim gWhenDue As Variant ' Необязательно
Public Function CalcFutureValue() As Double
'Глобальным переменным, передаваемым функции FV присваиваются
значения
'когда пользователь устанавливает эти свойства на ASP-странице.
'Функции CalcFutureValue() можно передавать переменные,
'если использование свойств нежелательно.
'CalcFutureValue становится методом разрабатываемого компонента.
Dim IntRatePerPeriod As Double
Dim FullFutureValue As Double
If (gAnnualIntRate = Null) Or (gNumPayPeriods = Null) Or (gPayment =
Null) Then
CalcFutureValue = 0
Else
IntRatePerPeriod = gAnnualIntRate / 100 / 12
FullFutureValue = FV(IntRatePerPeriod, gNumPayPeriods, gPayment,
gPresentSavings, gWhenDue)
CalcFutureValue = Round(FullFutureValue, 2)
End If
End Function
Public Property Get AnnualIntRate() As Double
'Функции Get возвращают значения глобальных переменных так,
'как если бы они были свойствами.
'В программе ASP-страницы можно написать: x = oASPTut.Rate.
AnnualIntRate = gAnnualIntRate
End Property
Public Property Let AnnualIntRate(ByVal vAnnualIntRate As Double)
'Функции Let устанавливают значения глобальных переменных, когда из
ASP-страницы
'осуществляется вызов типа oASPTut.Rate = 5.
gAnnualIntRate = vAnnualIntRate
End Property
Public Property Get NumPayPeriods() As Integer
NumPayPeriods = gNumPayPeriods
End Property
Public Property Let NumPayPeriods(ByVal vNumPayPeriods As Integer)
gNumPayPeriods = vNumPayPeriods
End Property
Public Property Get Payment() As Double
Payment = gPayment
End Property
Public Property Let Payment(ByVal vPayment As Double)
gPayment = -(vPayment)
End Property
Public Property Get PresentSavings() As Variant
PresentSavings = gPresentSavings
End Property
Public Property Let PresentSavings(ByVal vPresentSavings As Variant)
gPresentSavings = -(vPresentSavings)
End Property
Public Property Get WhenDue() As Variant
WhenDue = gWhenDue
End Property
Public Property Let WhenDue(ByVal vWhenDue As Variant)
gWhenDue = vWhenDue
End Property
8. Все серверные компоненты должны иметь точку входа (исходную
точку). Это программа, выполняющаяся при создании первого
экземпляра объекта с помощью метода Server.CreateObject При
первом вызове компонента ASPTut с его стороны не требуется
выполнение никаких специальных действий. Поэтому нужно
создать пустую процедуру Sub Main. В меню Project выберите
пункт Add Module. В окне Add Module на вкладке New выберите
значок Module и нажмите кнопку Open. В окне исходного текста
Module 1 введите строку Sub Main и нажмите клавишу Enter.
Будет создана пустая подпрограмма.
9. Сохраните модуль Sub Main в файле с именем Main.bas.
Сохраните файл класса с именем Finance.cls. Сохраните проект в
файле с именем ASPTut.vbp.
10.
В меню File выберите пункт Make ASPTut.dll. При этом
выполняется компиляция и регистрация библиотеки ASPTut.dll.
После вызова ASPTut.dll из ASP-страницы эту библиотеку DLL
нельзя создавать заново в Visual Basic до тех пор, пока
приложение, использующее эту ASP-страницу не будет закрыто.
Это можно сделать с помощью оснастки IIS, открыв свойства вебузла по умолчанию и нажав кнопку Выгрузить. Чтобы
зарегистрировать библиотеку DLL на другом веб-сервере,
скопируйте файл ASPTut.dll на этот сервер, нажмите кнопку Пуск,
выберите пункт Выполнить и введите строку cmd в поле
Открыть. Перейдите в каталог, где находится файл ASPTut.dll и
введите команду regsvr32 ASPTut.dll.
11.
Закройте Visual Basic.
Создание ASP-страницы, использующей COM-объект,
созданный с помощью Visual Basic
Этот пример ASP-страницы использует форму для чтения
пользовательских данных, создает экземпляр COM-объекта и вычисляет
перспективную сумму сбережений по определенному плану взносов.
Скопируйте следующий текст в текстовый редактор и сохраните его в
файле CalculateFutureValue.asp в каталоге
x:\Inetpub\Wwwroot\Tutorial. Для просмотра примера введите адрес
http://localhost/Tutorial/CalculateFutureValue.asp в адресную
строку обозревателя.
<%@ Language=VBScript %>
<%
Response.Expires = 0
Payment = Request.Form("Payment")
AnnualIntRate = Request.Form("AnnualIntRate")
NumPayPeriods = Request.Form("NumPayPeriods")
WhenDue = Request.Form("WhenDue")
PresentSavings = Request.Form("PresentSavings")
%>
<HTML>
<HEAD><TITLE>Future Value Calculation</TITLE></HEAD>
<BODY>
<FONT FACE="MS Gothic">
<H2 align=center>Вычисление перспективной суммы по плану взносов</H2>
<FORM METHOD=POST ACTION="calculatefuturevalue.asp">
<TABLE cellpadding=4 align=center>
<TR>
<TD>Какую сумму планируется вносить ежемесячно?</TD>
<TD><INPUT TYPE=TEXT NAME=Payment VALUE=<%=Payment%>> (Обязательно)</TD>
</TR><TR>
<TD>Укажите годовую процентную ставку.</TD>
<TD><INPUT TYPE=TEXT NAME=AnnualIntRate VALUE=<%=AnnualIntRate%>>
(Обязательно)</TD>
</TR><TR>
<TD>Как долго вы собираетесь вносить ежемесячные платежи?</TD>
<TD><INPUT TYPE=TEXT NAME=NumPayPeriods VALUE=<%=NumPayPeriods%>>
(Обязательно)</TD>
</TR><TR>
<TD>Когда вы планируете вносить ежемесячные платежи? </TD>
<TD><INPUT TYPE=RADIO NAME=WhenDue VALUE=1 <%If 1=WhenDue Then
Response.Write"CHECKED"%>>В начале
<INPUT TYPE=RADIO NAME=WhenDue VALUE=0 <%If 0=WhenDue Then
Response.Write"CHECKED"%>>В конце месяца </TD>
</TR><TR>
<TD>Какая сумма сейчас находится на счету?</TD>
<TD><INPUT TYPE=TEXT NAME=PresentSavings VALUE=<%=PresentSavings%>> </TD>
</TR>
</TABLE>
<P align=center><INPUT TYPE=SUBMIT VALUE=" Рассчитать перспективную сумму
">
</FORM>
<%
If ("" = Payment) Or ("" = AnnualIntRate) Or ("" = NumPayPeriods) Then
Response.Write "<H3 align=center>Данные еще не введены.</H3>"
ElseIf (IsNumeric(Payment)) And (IsNumeric(AnnualIntRate)) And
(IsNumeric(NumPayPeriods)) Then
Dim FutureValue
Set oASPTut = Server.CreateObject("ASPTut.Finance")
oASPTut.AnnualIntRate = CDbl(AnnualIntRate)
oASPTut.NumPayPeriods = CInt(NumPayPeriods)
oASPTut.Payment = CDbl(Payment)
If Not "" = PresentSavings Then oASPTut.PresentSavings =
CDbl(PresentSavings)
oASPTut.WhenDue = WhenDue
FutureValue = oASPTut.CalcFutureValue
Response.Write "<H3 align=center>Future value = $" & FutureValue &
"</H3>"
Else
Response.Write "<H3 align=center>Некоторые введенные значения не являются
числами.</H3>"
End If
%>
</FONT>
</BODY>
</HTML>
При просмотре страницы в обозревателе она будет выглядеть так.
Вычисление перспективной суммы по
плану взносов
Какую сумму планируется вносить ежемесячно?
(Обязательно)
Укажите годовую процентную ставку.
(Обязательно)
Как долго вы собираетесь вносить ежемесячные
платежи?
(Обязательно)
Когда вы планируете вносить ежемесячные платежи?
В начале
месяца
В конце
Какая сумма сейчас находится на счету?
Данные еще не введены.
Урок 4. Создание COM-объекта на Java
На этом уроке используется Microsoft® Visual J++® для создания COMобъекта, выполняющего те же функции, что и компонент, созданный с
помощью Visual Basic на уроке 3. Требуется Visual J++ 6.0 или более
поздней версии.
Создание COM-объекта на Java
1. Откройте Visual J++. Если не появилось окно New Project,
выберите в меню File пункт New Project.
2. Выберите пункт Visual J++ Projects и щелкните значок Empty
Project. В поле Name введите ASPTut. Нажмите кнопку Open.
3. В меню Project выберите команду Add Class. В поле Name
введите ASPTut.java. Для серверного компонента Java название
класса должно совпадать с названием проекта. Нажмите кнопку
Open. В окне редактирования появится следующий текст:
public class ASPTut
{
}
4. Скопируйте следующий исходный текст и вставьте его между
фигурными скобками {}. Следите за регистром символов — в языке
Java строчные и прописные буквы различаются. Исходный текст
метода компонента:
public double CalcFutureValue(
double dblAnnualIntRate,
double dblNumPayPeriods,
double dblPayment,
double dblPresentSavings,
boolean bWhenDue)
{
double dblRet, dblTemp, dblTemp2, dblTemp3, dblIntRate;
if (dblAnnualIntRate == 0.0)
{
dblRet = -dblPresentSavings - dblPayment * dblNumPayPeriods;
}
else
{
dblIntRate = dblAnnualIntRate / 100 / 12;
dblPayment = -dblPayment;
dblPresentSavings = -dblPresentSavings;
dblTemp = (bWhenDue ? 1.0 + dblIntRate : 1.0);
dblTemp3 = 1.0 + dblIntRate;
dblTemp2 = Math.pow(dblTemp3, dblNumPayPeriods);
dblRet = -dblPresentSavings * dblTemp2 - dblPayment * dblTemp *
(dblTemp2 - 1.0) / dblIntRate;
}
return dblRet;
}
5. В меню Build выполните команду Build. Убедитесь, что в окне
Task List, находящемся под окном редактирования, нет сообщений
об ошибках.
6. Файл класса Java должен быть зарегистрирован на том же
компьютере, где установлен веб-сервер. В окне командной строки
найдите созданный файл ASPTut.class. Вероятнее всего он
находится в папке %USERPROFILE%\My Documents\Visual Studio
Projects\ASPTut или в x:\Documents and Settings\user name\My
Documents\Visual Studio Projects\ASPTut, где x: — это диск, на
который установлена система Windows. Скопируйте файл
ASPTut.class в каталог x:\Winnt\Java\Trustlib. Введите команду
javareg /register /class:ASPTut /progid:MS.ASPTut.Java и
нажмите клавишу ENTER, чтобы зарегистрировать класс Java.
7. Закройте Visual J++.
Создание ASP-страницы, использующей COM-объект,
созданный с помощью Java
Этот пример ASP-страницы использует форму для чтения
пользовательских данных, создает экземпляр COM-объекта и вычисляет
перспективную сумму сбережений по определенному плану взносов. В
данном примере используется JScript, но вызывать компонент Java
можно также и из VBScript.
Скопируйте следующий текст в текстовый редактор и сохраните его в
файле CalculateFutureValueJava.asp в каталоге
x:\Inetpub\Wwwroot\Tutorial. Для просмотра примера введите адрес
http://localhost/Tutorial/CalculateFutureValueJava.asp в адресную
строку обозревателя.
<%@ Language=JScript %>
<%
Response.Expires = 0;
Payment = Request.Form("Payment");
AnnualIntRate = Request.Form("AnnualIntRate");
NumPayPeriods = Request.Form("NumPayPeriods");
WhenDue = Request.Form("WhenDue");
PresentSavings = Request.Form("PresentSavings");
%>
<HTML>
<HEAD><TITLE>Вычисление перспективной суммы - Java</TITLE></HEAD>
<BODY>
<FONT FACE="MS Gothic">
<H2 align=center>Вычисление перспективной суммы по плану взносов</H2>
<FORM METHOD=POST ACTION="calculatefuturevaluejava.asp">
<TABLE cellpadding=4 align=center>
<TR>
<TD>Какую сумму планируется вносить ежемесячно?</TD>
<TD><INPUT TYPE=TEXT NAME=Payment VALUE=<%=Payment%>> (Обязательно)</TD>
</TR><TR>
<TD>Укажите годовую процентную ставку</TD>
<TD><INPUT TYPE=TEXT NAME=AnnualIntRate VALUE=<%=AnnualIntRate%>>
(Обязательно)</TD>
</TR><TR>
<TD>Как долго вы собираетесь вносить ежемесячные платежи?</TD>
<TD><INPUT TYPE=TEXT NAME=NumPayPeriods VALUE=<%=NumPayPeriods%>>
(Обязательно)</TD>
</TR><TR>
<TD>Когда вы планируете вносить ежемесячные платежи? </TD>
<TD><INPUT TYPE=RADIO NAME=WhenDue VALUE=1 <%if (1==WhenDue)
Response.Write("CHECKED")%>>В начале
<INPUT TYPE=RADIO NAME=WhenDue VALUE=0 <%if (0==WhenDue)
Response.Write("CHECKED")%>>В конце месяца </TD>
</TR><TR>
<TD>Какая сумма сейчас находится на счету?</TD>
<TD><INPUT TYPE=TEXT NAME=PresentSavings VALUE=<%=PresentSavings%>> </TD>
</TR>
</TABLE>
<P align=center><INPUT TYPE=SUBMIT VALUE=" Рассчитать перспективную сумму
">
</FORM>
<%
if (("" == Payment) || ("" == AnnualIntRate) || ("" == NumPayPeriods)) {
Response.Write("<H3 align=center>Данные еще не введены.</H3>");
} else {
AnnualIntRate = parseFloat(AnnualIntRate)
NumPayPeriods = parseFloat(NumPayPeriods)
Payment = parseFloat(Payment)
if ("" != PresentSavings) PresentSavings = parseFloat(PresentSavings);
if ((isNaN(Payment)) || (isNaN(AnnualIntRate)) || (isNaN(NumPayPeriods)))
{
Response.Write("<H3 align=center>Некоторые введенные значения не
являются числами.</H3>");
} else {
var FutureValue, Cents;
var oASPTut = Server.CreateObject("MS.ASPTut.Java");
FutureValue = oASPTut.CalcFutureValue(AnnualIntRate, NumPayPeriods,
Payment, PresentSavings, WhenDue);
Response.Write("<H3 align=center>Future value = $" +
parseInt(FutureValue) + "</H3>");
}
}
%>
</FONT>
</BODY>
</HTML>
При просмотре страницы в обозревателе она будет выглядеть так же, как
и при использовании компонента Visual Basic на третьем уроке данного
раздела.
Вычисление перспективной суммы по
плану взносов
Какую сумму планируется вносить ежемесячно?
(Обязательно)
Укажите годовую процентную ставку.
(Обязательно)
Как долго вы собираетесь вносить ежемесячные
платежи?
(Обязательно)
Когда вы планируете вносить ежемесячные платежи?
В начале
месяца
В конце
Какая сумма сейчас находится на счету?
Данные еще не введены.
Следующий раздел: «Поддержка состояния
сеанса в веб-приложении»
© 1997-2001 Корпорация Microsoft. Все права защищены.
Раздел 3. Поддержка состояния
сеанса
В данном разделе рассматривается процесс поддержки состояния сеанса
в ASP-страницах. Сеансом называется промежуток времени, в течение
которого пользователь активно просматривает содержимое веб-узла.
Сеанс начинается, когда пользователь посещает первую страницу вебузла, а заканчивается через несколько минут после выхода пользователя
с этого узла. Набор сведений о пользователе, относящийся к некоторому
сеансу, называется состоянием сеанса.
Поскольку протокол HTTP является протоколом без состояний, возникает
задача поддержки состояния сеанса пользователей, посещающих вебузел. Веб-сервер считает каждый HTTP-запрос уникальным и не
связанным с предыдущими запросами. При этом данные, которые
пользователь вводит на странице (например в форму), не будут
автоматически доступны при запросе следующей страницы. Веб-сервер
должен поддерживать состояние сеанса для определения пользователей
и отслеживания их перемещений по страницам веб-узла.
Одним из решений является использование объектов cookie. Объекты
«cookie» записывают сведения о пользователе на одной странице и
передают их на другие страницы веб-узла. Однако некоторые
обозреватели не поддерживают работу с объектами «cookie», а в других
обозревателях их поддержку можно отключать. Для работы с такой
аудиторией обеспечить поддержку состояния сеанса можно без объектов
«cookie», используя HTTP POST.
Данный раздел содержит следующие уроки.


Поддержка состояния сеанса с помощью объектов
«cookie» Рассматриваются два примера. В первом используются
ASP-объекты Response и Request, а во втором — ASP-объект
Session.
Поддержка состояния сеанса без объектов
«cookie» Рассматривается пример поддержки состояния сеанса с
помощью HTTP POST.
Поддержка состояния сеанса с помощью
объектов «cookie»
Объекты «cookie» хранят сведения о пользователе, например номер
банковской карты или пароль. Веб-сервер внедряет объект «cookie» в
обозреватель пользователя так, что сведения о пользователе становятся
доступными для других страниц веб-узла; пользователям не требуется
повторно вводить свои данные на каждой посещаемой странице.
Объекты «cookie» являются удобным средством сбора сведений о
заказчике для торговли в Интернете, для сохранения персональных
настроек пользователя и для поддержки состояния сеанса пользователя.
Существуют объекты «cookie» двух типов.


Объекты «cookie» в памяти Объекты «cookie» в памяти
удаляются, когда пользователь закрывает обозреватель.
Постоянные объекты «cookie» Постоянные объекты «cookie»
находятся на жестком диске компьютера и загружаются в
обозреватель, когда пользователь возвращается на веб-страницу.
Если объект «cookie» создается без указания срока действия, то это
будет объект «cookie» в памяти, который действует только в течение
одного сеанса работы с обозревателем. Следующий сценарий может
быть использован для создания объекта «cookie» в памяти.
Response.Cookies("SiteArea") = "TechNet"
Чтобы данные, содержащиеся в объекте «cookie» сохранялись по
завершении сеанса, необходимо создать постоянный объект «cookie»,
указав срок действия. Если указан срок действия, обозреватель
сохраняет объект «cookie» на жестком диске клиентского компьютера.
До истечения срока действия объекта «cookie» данные, находящиеся в
постоянном объекте «cookie», остаются на клиентском компьютере.
Любой запрос к веб-узлу будет автоматически загружать объект
«cookie», который был создан этим узлом. Объекты «cookie»
отправляются только на веб-узлы, на которых они были созданы,
поскольку часть имени веб-узла и имя ASP-файла также хранятся в этих
объектах.
Следующий сценарий является примером создания постоянного объекта
«cookie».
Response.Cookies("SiteArea") = "TechNet"
Response.Cookies("SiteArea").Expires = "August 15, 2000"
Сценарий создания объекта «cookie» должен располагаться в начале
ASP-файла, поскольку объекты «cookie» должны быть созданы до
отправки HTML-текста в обозреватель.
Создание объектов «cookie» с использованием объектов
Response и Request
Постоянные объекты «cookie» создаются с помощью объектов Response
и Request, хотя они могут быть также использованы для создания
объектов «cookie» в памяти. Большинство веб-приложений использует
эти объекты для поддержки состояния сеанса.

Объект Response Объект Response используется для создания
объектов «cookie» и установки их значений.

Объект Request Объект Request используется для получения
значений объекта «cookie», созданного во время предыдущего вебсеанса.
На этом уроке объекты Response и Request будут использоваться для
создания следующих файлов. Создайте сразу все эти файлы, поскольку
некоторые из них требуют присутствия других. После создания всех этих
файлов запустите приложение, введя в обозревателе адрес
http://LocalHost/Tutorial/Frame.htm.








Frame.htm Страница, которая разделяет окно на две части. Для
этой страницы требуются файлы Menu.htm и CustomGreeting.asp.
Menu.htm Страница, содержащая ссылки для этого урока. Чтобы
ссылки работали, должны быть созданы все остальные страницы.
CustomGreeting.asp ASP-сценарий, который получает имя
пользователя из формы и сохраняет его в объекте «cookie» в
памяти.
DeleteGreetingCookie.asp ASP-сценарий, который удаляет
объект «cookie», содержащий имя пользователя. Если объект
«cookie» не установлен, выдается предупреждение.
SelectColors.asp ASP-сценарий, который устанавливает объекты
«cookie» для выбора цвета.
DeleteColorCookie.asp ASP-сценарий, который удаляет ранее
выбранные цвета страницы. Если цвета не были выбраны,
выдается предупреждение.
Cookie.asp ASP-сценарий, который устанавливает постоянные
объекты «cookie» для хранения текущей даты и времени
посещения пользователем веб-узла и записи общего числа
посещений.
DeleteCookies.asp Этот ASP-сценарий удаляет объекты «cookie»,
созданные в Cookie.asp. Если эти объекты «cookie» отсутствуют,
выдается предупреждение.
Frame.htm
Создайте новый файл в текстовом редакторе, скопируйте в него
следующий сценарий и сохраните его в файле
C:\Inetpub\Wwwroot\Tutorial\Frame.htm.
<html>
<head>
<title>Настройка приветствия и цветов с использованием объектов «cookies» в
памяти и постоянных</title>
</head>
<frameset cols="40%,60%">
<frame src="menu.htm" name="left" marginheight="5" marginwidth="5">
<frame src="CustomGreeting.asp" name="right" marginheight="5"
marginwidth="5">
</frameset>
<noframes>
Обозреватель не поддерживает работу с рамками. Перейдите на <a
href="menu.htm">Menu</a>.
</noframes>
</html>
Menu.htm
Создайте новый файл в текстовом редакторе, скопируйте в него
следующий сценарий и сохраните его в файле
C:\Inetpub\Wwwroot\Tutorial\Menu.htm.
<html>
<head>
<title>Поддержка состояния сеанса с помощью объектов «cookie»</title>
</head>
<body>
<font face="MS Gothic">
<h2 align="center">Примеры объектов «cookie»</h2>
<table align=center border=1 cellpadding=4>
<tr>
<td><a href="CustomGreeting.asp" target="right"><b>Страница специального
приветствия</b></a></td>
</tr><tr>
<td><a href="DeleteGreetingCookie.asp" target="right"><b>Удалить объект
«cookie» для приветствия</b></a></td>
</tr><tr>
<td><a href="SelectColors.asp" target="right"><b>Установить цвета
страницы</b></a></td>
</tr><tr>
<td><a href="DeleteColorCookie.asp" target="right"><b>Удалить объект
«cookie» для установки цветов</b></a></td>
</tr><tr>
<td><a href="Cookie.asp" target="right"><b>Установить объекты «cookie»
для даты, времени и общего числа посещений</b></a></td>
</tr><tr>
<td><a href="DeleteCookies.asp" target="right"><b>Удалить объекты
«cookie» для даты, времени и общего числа посещений</b></a></td>
</tr>
</table>
</font>
</body>
</html>
CustomGreeting.asp
Создайте новый файл в текстовом редакторе, скопируйте в него
следующий сценарий и сохраните его в файле
C:\Inetpub\Wwwroot\Tutorial\CustomGreeting.asp.
<%@ Language="VBScript" %>
<%
'Если пользователь выбрал цвета текста и фона,
' объекты «cookie» используются для хранения этих значений в промежутках
между сеансами HTTP.
'Это надо сделать в начале, поскольку страница может использовать эти
значения, если они установлены.
If Not (Request.QueryString("Text")="") Then
Response.Cookies("TextColor") = Request.QueryString("Text")
Response.Cookies("BackgroundColor") = Request.QueryString("Background")
End If
' Если пользователь ввел имя, был создан объект «cookie».
If Not (Request.QueryString("Name")="") Then
Response.Cookies ("Name") = Request.QueryString("Name")
' Если пользователь не ввел имя, значит был создан объект «cookie»
' и имя повторно запрашивать не нужно.
ElseIf (InStr(Request.QueryString,"Name")=1) Then
Response.Cookies ("NoUserInput") = "TRUE"
End If
%>
<html>
<head>
</head>
<%
'Установить цвета в соответствии с предыдущими настройками пользователя.
If (Request.Cookies ("TextColor")="") Then %>
<body>
<% Else %>
<body bgcolor=<%=Request.Cookies("BackgroundColor")%>
text=<%=Request.Cookies("TextColor")%>>
<% End If
%>
<font face="MS Gothic">
<%
'Если объект «cookie» не установлен, имя не введено пользователем
' и не были введены никакие данные, получить имя пользователя.
If ( (Request.Cookies("Name")="") And ((Request.QueryString("Name"))=""))
And (Not(Request.Cookies("NoUserInput")="TRUE") ) Then %>
<FORM ACTION="CustomGreeting.asp" METHOD="GET" NAME="DataForm">
<table align=center><tr><td>
<INPUT TYPE=TEXTBOX NAME="Name" SIZE=33></td></tr><tr><td>
<INPUT TYPE=Submit VALUE="Введите ваше имя"></td></tr></table>
</FORM>
<% ElseIf Not(Request.Cookies("Name")="") Then %>
<H2 align=center>Приветствия <%=Request.Cookies("Name")%></H2>
<% Else %>
<H2>Здравствуйте!</H2>
<H3>Вы не указали свое имя, поэтому мы не можем поприветствовать вас по
имени.</H3>
<% End If
%>
<H3>Пример объекта «cookie» в памяти </H3>
<P>
Если вы ввели свое имя:
<UL>
<LI>При нажатии кнопки <B>Обновить</B> в обозревателе имя останется на
экране.</LI>
<LI>При закрытии обозревателя объект «cookie» будет удален. При повторном
открытии обозревателя на этой странице ваше имя будет запрошено снова.</LI>
<LI>Если щелкнуть ссылку <B>Удалить объект «cookie» для приветствия</B>, а
затем ссылку <B>Страница специального приветствия</B>, ваше имя будет
запрошено снова.</LI>
</P>
</font>
</body>
</html>
DeleteGreetingCookie.asp
Создайте новый файл в текстовом редакторе, скопируйте в него
следующий сценарий и сохраните его в файле
C:\Inetpub\Wwwroot\Tutorial\DeleteGreetingCookie.asp.
<%@ Language="VBScript" %>
<html>
<head>
</head>
<% If (Request.Cookies ("TextColor")="") Then %>
<body>
<font face="MS Gothic">
<% Else %>
<body bgcolor=<%=Request.Cookies("BackgroundColor")%>
text=<%=Request.Cookies("TextColor")%>>
<font face="MS Gothic" color=<%=Request.Cookies("TextColor")%>>
<% End If %>
<%
If Not ("" = Request.Cookies("Name")) Then
Response.Cookies ("Name").Expires = "January 1, 1992"
Response.Cookies ("NoUserInput").Expires = "January 1, 1992" %>
<h2 align=center>Объект «cookie» в памяти для приветствия удален</h2>
<P>
Объект «cookie», хранивший ваше имя, удален.<BR>
Щелкните ссылку <B>Страница специального приветствия</B>, чтобы ввести
имя заново.
</P>
<% Else %>
<h2 align=center>Объект «cookie» в памяти для приветствия не был
удален</h2>
<P>
объект «cookie» с вашим именем не был создан.<BR>
Щелкните ссылку <B>Страница специального приветствия</B>, чтобы ввести
имя.
</P>
<% End If
%>
</font>
</body>
</html>
SelectColors.asp
Создайте новый файл в текстовом редакторе, скопируйте в него
следующий сценарий и сохраните его в файле
C:\Inetpub\Wwwroot\Tutorial\SelectColors.asp.
<%@ Language="VBScript" %>
<%
' Если пользователь выбрал цвета текста и фона,
' объекты «cookie» используются для хранения этих значений в промежутках
между сеансами HTTP.
If Not (Request.QueryString("Text")="") Then
Response.Cookies ("TextColor") = Request.QueryString("Text")
Response.Cookies ("BackgroundColor") =
Request.QueryString("Background")
End If
%>
<html>
<head>
</head>
<%
'Установить цвета в соответствии с предыдущими настройками пользователя..
If (Request.Cookies ("TextColor")="") Then %>
<body>
<% Else %>
<body bgcolor=<%=Request.Cookies("BackgroundColor")%>
text=<%=Request.Cookies("TextColor")%>>
<% End If
%>
<font face="MS Gothic">
<H2 align=center>Выберите цвета для веб-страницы</H2>
<P>
Для хранения этих значений будут использованы объекты «cookies» в памяти.
</P>
<FORM ACTION="SelectColors.asp" METHOD="GET" NAME="DataForm">
<table border="1" width="450" cellpadding=0>
<tr><td>
<table>
<tr><td BGCOLOR=99FF99>
<B><font color=000000>Выберите цвет фона</font></B>
</td></tr><tr><td BGCOLOR=FFFFFF>
<input type="RADIO" NAME="Background" VALUE="FFFFFF" CHECKED><font
COLOR=000000> FFFFFF </font>
</td></tr><tr><td BGCOLOR=D98719>
<input type="RADIO" NAME="Background" VALUE="D98719"> D98719
</td></tr><tr><td BGCOLOR=D9D919>
<input type="RADIO" NAME="Background" VALUE="D9D919"> D9D919
</td></tr><tr><td BGCOLOR=00FFFF>
<input type="RADIO" NAME="Background" VALUE="00FFFF"> 00FFFF
</td></tr><tr><td BGCOLOR=FF00FF>
<input type="RADIO" NAME="Background" VALUE="FF00FF"> FF00FF
</td></tr><tr><td BGCOLOR=000000>
<input type="RADIO" NAME="Background" VALUE="000000"> <font
COLOR=FFFFFF>000000</font>
</td></tr>
</table>
</td><td>
<table>
<tr><td BGCOLOR=99FF99>
<B><font color=000000>Выберите цвет текста</font></B>
</td></tr><tr><td BGCOLOR=FFFFFF>
<input type="RADIO" NAME="Text" VALUE="FFFFFF" CHECKED><font
COLOR=000000> FFFFFF </font>
</td></tr><tr><td BGCOLOR=D98719>
<input type="RADIO" NAME="Text" VALUE="D98719"> D98719
</td></tr><tr><td BGCOLOR=D9D919>
<input type="RADIO" NAME="Text" VALUE="D9D919"> D9D919
</td></tr><tr><td BGCOLOR=00FFFF>
<input type="RADIO" NAME="Text" VALUE="00FFFF"> 00FFFF
</td></tr><tr><td BGCOLOR=FF00FF>
<input type="RADIO" NAME="Text" VALUE="FF00FF"> FF00FF
</td></tr><tr><td BGCOLOR=000000>
<input type="RADIO" NAME="Text" VALUE="000000" CHECKED><font
COLOR=FFFFFF> 000000 </font>
</td></tr>
</table>
</td></tr>
</table>
<P>
<input type=Submit VALUE="Отправить выбранные цвета">
</FORM>
</font>
</body>
</html>
DeleteColorCookie.asp
Создайте новый файл в текстовом редакторе, скопируйте в него
следующий сценарий и сохраните его в файле
C:\Inetpub\Wwwroot\Tutorial\DeleteColorCookie.asp.
<%@ Language="VBScript" %>
<html>
<head>
</head>
<body>
<font face="MS Gothic">
<%
If Not ("" = Request.Cookies("TextColor")) Then
Response.Cookies("TextColor").Expires = "January 1, 1992"
Response.Cookies("BackgroundColor").Expires = "January 1, 1992" %>
<h2 align=center>Объект «cookie» в памяти для установки цветов
удален</h2>
<P>
Объект «cookie», хранивший цветовые настройки, удален.<BR>
Щелкните ссылку <B>Установить цвета страницы</B>, чтобы заново выбрать
цвета. >
</P>
<% Else %>
<h2 align=center>Объект «cookie» в памяти для хранения цветов не был
удален</h2>
<P>
объект «cookie» с цветовыми настройками не был создан.<BR>
Щелкните ссылку <B>Установить цвета страницы</B>, чтобы выбрать цвета.
</P>
<% End If
%>
</font>
</body>
</html>
Cookie.asp
Создайте новый файл в текстовом редакторе, скопируйте в него
следующий сценарий и сохраните его в файле
C:\Inetpub\Wwwroot\Tutorial\Cookie.asp.
<%@ Language="VBScript" %>
<%
LastAccessTime = Request.Cookies("LastTime")
LastAccessDate = Request.Cookies("LastDate")
'Если объект «cookie» NumVisits пуст, установить в 0, иначе увеличить на
единицу.
If (Request.Cookies("NumVisits")="") Then
Response.Cookies("NumVisits") = 0
Else
Response.Cookies("NumVisits") = Request.Cookies("NumVisits") + 1
End If
Response.Cookies("LastDate") = Date
Response.Cookies("LastTime") = Time
'Если дата окончания срока действия превышает текущую, создается
постоянный объект «cookie».
Response.Cookies("LastDate").Expires = "January 15, 2001"
Response.Cookies("LastTime").Expires = "January 15, 2001"
Response.Cookies("NumVisits").Expires = "January 15, 2001"
%>
<html>
<head>
</head>
<% If (Request.Cookies ("TextColor")="") Then %>
<body>
<font face="MS Gothic">
<% Else %>
<body bgcolor=<%=Request.Cookies("BackgroundColor")%>
text=<%=Request.Cookies("TextColor")%>>
<font face="MS Gothic" color=<%=Request.Cookies("TextColor")%>>
<% End If %>
<H2 align=center>Постоянные объекты «cookie»!</H2>
<P>
Созданы три постоянных объекты «cookie» на стороне клиента.
<UL>
<LI>Объект «cookie» для подсчета числа посещений веб-узла.</LI>
<LI>Объект «cookie» для определения даты посещения.</LI>
<LI>Объект «cookie» для определения времени посещения.</LI>
</UL>
</P>
<table border="1" width="300" cellpadding=4 align=center>
<tr><td>
<% If (Request.Cookies ("NumVisits")=0) Then %>
Добро пожаловать! Вы в первый раз посещаете эту веб-страницу!
<% Else %>
Благодарим за посещение этой страницы снова! Вы посещали эту страницу
<B><%=Request.Cookies("NumVisits")%></B> раз.
<% End If %>
</td></tr>
</table>
<P>
<B>Текущее время: <%=Time%> Дата: <%=Date%><BR>
<% If (Request.Cookies ("NumVisits")>0) Then %>
Время последнего посещения: <%=LastAccessTime%> Дата:
<%=LastAccessDate%>
<% End If %>
</strong>
</P>
</font>
</body>
</html>
DeleteCookies.asp
Создайте новый файл в текстовом редакторе, скопируйте в него
следующий сценарий и сохраните его в файле DeleteCookies.asp.
<%@ Language="VBScript" %>
<html>
<head>
</head>
<% If (Request.Cookies ("TextColor")="") Then %>
<body>
<font face="MS Gothic">
<% Else %>
<body bgcolor=<%=Request.Cookies("BackgroundColor")%>
text=<%=Request.Cookies("TextColor")%>>
<font face="MS Gothic" color=<%=Request.Cookies("TextColor")%>>
<% End If %>
<%
If Not ("" = Request.Cookies("NumVisits")) Then
Response.Cookies("NumVisits").Expires = "January 1, 1993"
Response.Cookies("LastDate").Expires = "January 1, 1993"
Response.Cookies("LastTime").Expires = "January 1, 1993" %>
<H2 align=center>Постоянные объекты «cookie» удалены</H2>
<P>
Объекты «cookie», хранившие дату и время последнего посещения,
удалены.<BR>
Щелкните ссылку <B>Установить объекты «cookie» для даты, времени и
общего числа посещений</B>, чтобы установить их заново.
</P>
<% Else %>
<H2 align=center>Постоянные объекты «cookie» не были удалены</H2>
<P>
Объекты «cookie» для отслеживания числа посещений, даты и времени
последнего посещения не были созданы.<BR>
Щелкните ссылку <B>Установить объекты «cookie» для даты, времени и
общего числа посещений</B>, чтобы установить их.
</P>
<% End If %>
</font>
</body>
</html>
Создание объектов «cookie» с помощью объекта Session
С помощью объекта Session можно создавать только объекты «cookie» в
памяти. Чтобы объект Session работал правильно, необходимо
определить, когда посещение пользователем веб-узла начинается и
когда заканчивается. IIS делает это с помощью объекта «cookie»,
который запоминает идентификатор сеанса ASP, который используется
для хранения набора сведений о пользователе. Если идентификатор
сеанса ASP отсутствует, сервер считает текущий запрос началом
посещения веб-узла. Посещение заканчивается, если пользовательских
запросов к ASP не поступало в течение 20 минут (по умолчанию).
На этом уроке будут созданы следующие файлы.

Global.asa Global.asa — это файл, который позволяет выполнять
общие действия в начале работы приложения и в начале каждого
сеанса пользователя. Приложение запускается, когда первый
пользователь первый раз запрашивает страницу, а завершается,
когда выгружается из памяти или когда сервер переходит в
автономный режим. Уникальный сеанс начинается один раз для
каждого пользователя и заканчивается через 20 минут после
запроса последней страницы. Общие действия, которые можно

выполнить в файле Global.asa, включают установку переменных
приложения или сеанса, проверку подлинности пользователя,
запись даты и времени подключения пользователя, создание
экземпляров COM-объектов, которые остаются активными в
течение всего времени работы приложения или сеанса и т. д.
VisitCount.asp Этот ASP-сценарий использует объект Session
для создания объекта «cookie» в памяти.
Когда работа приложения или сеанс начинаются или заканчивается, это
рассматривается как событие. С помощью файла Global.asa можно
использовать предопределенные процедуры обработки таких событий.
Global.asa
Создайте новый файл в текстовом редакторе, скопируйте в него
следующий сценарий и сохраните его в файле
C:\Inetpub\Wwwroot\Global.asa.
Важно! Чтобы ASP-страница могла найти файл Global.asa, он должен
быть сохранен в корневом каталоге приложения. Если виртуальный путь
с именем Test сопоставлен с каталогом C:\Inetpub\Wwwroot\Test, URLадресом будет http://LocalHost/Test, а файл Global.asa должен
находиться в каталоге C:\Inetpub\Wwwroot\Test. Мы не создавали
виртуальный путь, сопоставленный с каталогом
C:\Inetpub\Wwwroot\Tutorial, поэтому нашим корневым каталогом
является C:\Inetpub\Wwwroot.
<SCRIPT LANGUAGE=VBScript RUNAT=Server>
'Использование переменных на уровне приложения для отслеживания числа
пользователей,
' которые сейчас просматривают веб-узел, и числа пользователей,
' получивших доступ к узлу.
Sub Application_OnStart
'Получение физического пути к виртуальному каталогу и добавление имени
файла.
Application("PhysPath") = Server.MapPath(".") & "\hits.txt"
'Установка некоторых констант Visual Basic и создание экземпляра объекта
FileSystemObject.
Const cForReading = 1
Const cTristateUseDefault = -2
Set fsoObject = Server.CreateObject("Scripting.FileSystemObject")
'Получение последнего сохраненного значения счетчика посещений и даты
последнего посещения.
If fsoObject.FileExists(Application("PhysPath")) Then
'Если файл hits.txt существует, установить переменные Application.
Set tsObject = fsoObject.OpenTextFile(Application("PhysPath"),
cForReading, cTristateUseDefault)
Application("HitCounter") = tsObject.ReadLine
Application("AppStartDate") = tsObject.ReadLine
tsObject.Close
Else 'Файл не был сохранен, сбрасываем значения.
Application("HitCounter") = 0
Application("AppStartDate") = Date
End If
Application("CurrentUsers") = 0
End Sub
Sub Application_OnEnd
Const cForWriting = 2
Const cTristateUseDefault = -2
Set fsoObject = Server.CreateObject("Scripting.FileSystemObject")
If fsoObject.FileExists(Application("PhysPath")) Then
'Если файл существует, открываем его для записи.
set tsObject = fsoObject.OpenTextFile(Application("PhysPath"),
cForWriting, cTristateUseDefault)
Else
'Если файл не существует, создаем его.
set tsObject = fsoObject.CreateTextFile(Application("PhysPath"))
End If
'Запись общего числа посещений узла и даты последнего посещения в файл.
tsObject.WriteLine(Application("HitCounter"))
tsObject.WriteLine(Application("AppStartDate"))
tsObject.Close
End Sub
Sub Session_OnStart
'Время ожидания завершения сеанса изменено на 1 для этого
' примера.
Session.Timeout = 1
'При изменении переменных Application необходимо их заблокировать, чтобы
другие
' сеансы не могли изменить их в то же самое время.
Application.Lock
'Увеличить счетчик посещений веб-узла.
Application("HitCounter") = Application("HitCounter") + 1
Application("CurrentUsers") = Application("CurrentUsers") + 1
Application.UnLock
End Sub
Sub Session_OnEnd
Application.Lock
'Уменьшить счетчик текущих пользователей.
Application("CurrentUsers") = Application("CurrentUsers") - 1
Application.UnLock
End Sub
</SCRIPT>
VisitCount.asp
Переменные в файле Global.asa можно использовать для подсчета
посещений и сеансов.
Создайте новый файл в текстовом редакторе, скопируйте в него
следующий сценарий и сохраните его в файле
C:\Inetpub\Wwwroot\Tutorial\VisitCount.asp. Для просмотра
примера введите в обозревателе адрес
http://Localhost/Tutorial/VisitCount.asp.
Откройте второй экземпляр обозревателя с указанием адреса
http://Localhost/Tutorial/VisitCount.asp и нажмите кнопку Обновить в
первом обозревателе. Общее число посетителей и активных посетителей
должно увеличиться на 1. Закройте второй обозреватель, подождите
более минуты и нажмите кнопку Обновить в первом обозревателе.
Число активных посетителей должно уменьшиться на 1.
<% Response.Buffer = True%>
<html>
<head>
<title>Получение набора переменных в Global.asa</title>
</head>
<body>
<font face="MS Gothic">
<H3 align=center>Получение набора переменных в Global.asa</H3>
<P>
Общее число посетителей = <%=Application("HitCounter")%> с
<%=Application("AppStartDate")%><BR>
Число активных посетителей = <%=Application("CurrentUsers")%>
</P>
</font>
</body>
</html>
Поддержка состояния сеанса без объектов
«cookie»
Некоторые обозреватели не поддерживают работу с объектами «cookie»,
а в других обозревателях их поддержку можно отключать Метод HTTP
POST предоставляет альтернативную объектам «cookie» возможность
поддержки состояния сеанса. Метод HTTP POST предоставляет те же
сведения о состоянии, что и объекты «cookie», но имеет то
преимущество, что может работать даже тогда, когда объекты «cookie»
недоступны. Этот метод на практике применяется довольно редко, но
является хорошим примером для обучения. Метод HTTP POST работает
подобно объекту «cookie в памяти; сведения о пользователе хранятся
только в течение посещения веб-узла, а сведения о состоянии сеанса
удаляются при завершении работы с обозревателем.
DataEntry.asp
Создайте новый файл в текстовом редакторе, скопируйте в него
следующий сценарий и сохраните его в файле
C:\Inetpub\Wwwroot\Tutorial\DataEntry.asp. Для просмотра
примера введите в обозревателе адрес http://Localhost/DataEntry.asp.
<%@ Language=VBScript %>
<html>
<head>
<title>Ввод данных без объектов «cookie»</title>
</head>
<body>
<font face="MS Gothic">
<!-- В этом примере сначала расположены подпрограммы.
Каждой странице в процессе заказа соответствует подпрограмма.
Основная вызывающая программа находится в конце текста. -->
<% Sub DisplayInitialPage %>
<table border=1 cellpadding=3 cellspacing=0 width=500 bordercolor=#808080
align=center>
<tr><td bgColor=#004080 align=center>
<font color=#ffffff><H2>Форма заказа</H2></font>
</td></tr><tr><td bgColor=#e1e1e1 align=left>
<P><B>Step 1 of 4</B></P>
<P align=center>
Эта форма использует метод HTTP POST для передачи скрытых значений,
содержащих
сведения о заказе. Эта форма не использует объекты «cookie».
</P>
<FORM METHOD=POST ACTION="DataEntry.asp" NAME=DataEntryForm>
<P>Введите ваше имя
<INPUT TYPE="TEXT" NAME=FullName>
<BR>Введите воображаемый номер банковской карты
<INPUT TYPE="TEXT" NAME=CreditCard>
</P>
<!-- Отслеживание этих данных с помощью скрытой переменной HTML-формы
Next Page. -->
<INPUT TYPE="HIDDEN" NAME=NextPage VALUE=2>
<INPUT TYPE="SUBMIT" VALUE="Далее ->" NAME=NextButton>
</FORM>
</td></tr>
</table>
<% End Sub %>
<% Sub DisplayDogBreed %>
<table border=1 cellpadding=3 cellspacing=0 width=500 align=center>
<tr><td bgColor=#004080 align=center>
<font color=#ffffff><H2>Форма заказа</H2></font>
</td></tr><tr><td bgColor=#e1e1e1>
<P><B>Step 2 of 4</B></P>
<P align=center>
Выберите породу собаки.
</P>
<FORM METHOD=POST ACTION="DataEntry.asp" NAME=DataEntryForm>
<P>
<INPUT TYPE=RADIO NAME=DogSelected VALUE="Коккер-спаниэль"
CHECKED>Коккер-спаниэль<BR>
<INPUT TYPE=RADIO NAME=DogSelected VALUE="Доберман">Доберман<BR>
<INPUT TYPE=RADIO NAME=DogSelected VALUE="Ротвейлер">Ротвейлер<BR>
<INPUT TYPE=RADIO NAME=DogSelected VALUE="Мастифф">Мастифф<BR>
</P>
<!-- Отслеживание этих данных с помощью скрытой переменной HTML-формы
Next Page. -->
<INPUT TYPE="HIDDEN" NAME=NextPage VALUE=3>
<INPUT TYPE="SUBMIT" VALUE="Далее ->" NAME=NextButton>
</FORM>
</td></tr>
</table>
<% End Sub %>
<% Sub DisplayCity %>
<table border=1 cellpadding=3 cellspacing=0 width=500 align=center>
<tr><td bgColor=#004080 align=center>
<font color=#ffffff><H2>Форма заказа</H2></font>
</td></tr><tr><td bgColor=#e1e1e1>
<P><B>Step 3 of 4</B></P>
<P align=center>
Мы выполняем доставку из следующих городов. Выберите ближайший город.
</P>
<FORM METHOD=POST ACTION="DataEntry.asp" NAME=DataEntryForm>
<P>
<INPUT TYPE=RADIO NAME=CitySelected VALUE="Москва" CHECKED>Москва<BR>
<INPUT TYPE=RADIO NAME=CitySelected VALUE="Ярославль">Ярославль<BR>
<INPUT TYPE=RADIO NAME=CitySelected VALUE="Казань">Казань<BR>
<INPUT TYPE=RADIO NAME=CitySelected VALUE="Новосибирск">Новосибирск<BR>
</P>
<!-- Отслеживание этих данных с помощью скрытой переменной HTML-формы
Next Page. -->
<INPUT TYPE="HIDDEN" NAME=NextPage VALUE=4>
<INPUT TYPE="SUBMIT" VALUE="Далее ->" NAME=NextButton>
</FORM>
</td></tr>
</table>
<% End Sub %>
<% Sub DisplaySummary %>
<table border=1 cellpadding=3 cellspacing=0 width=500 align=center>
<tr><td bgColor=#004080 align=center>
<font color=#ffffff><H2>Форма заказа заполнена</H2></font>
</td></tr><tr><td bgColor=#e1e1e1>
<P><B>Step 4 of 4</B></P>
<P align=center>
Введены следующие сведения.<BR>
Сейчас будет выполнена операция по выполнению заказа, если правильно
указаны
имя и номер банковской карты.
</P>
<table cellpadding=4>
<tr bgcolor=#ffffcc><td>
Имя
</td><td>
<%=Session.Value("FullName")%>
</td></tr><tr bgcolor=Beige><td>
Банковская карта
</td><td>
<%=Session.Value("CreditCard")%>
</td></tr><tr bgcolor=Beige><td>
Порода собаки
</td><td>
<%=Session.Value("DogSelected")%>
</td></tr><tr bgcolor=Beige><td>
Город доставки
</td><td>
<%=Session.Value("CitySelected")%>
</td></tr>
</table>
</td>
</tr>
</table>
<% End Sub %>
<% Sub StoreUserDataInSessionObject %>
<%
Dim FormKey
For Each FormKey in Request.Form
Session(FormKey) = Request.Form.Item(FormKey)
Next
%>
<% End Sub %>
<%
'Это главная программа, которая вызывает подпрограммы в зависимости от
' скрытых элементов формы.
Dim CurrentPage
If Request.Form.Item("NextPage") = "" Then
CurrentPage = 1
Else
CurrentPage = Request.Form.Item("NextPage")
End If
'Сохранение пользовательских данных.
Call StoreUserDataInSessionObject
Select Case CurrentPage
Case 1 : Call DisplayInitialPage
Case 2 : Call DisplayDogBreed
Case 3 : Call DisplayCity
Case 4 : Call DisplaySummary
End Select %>
<BR>
<HR>
<H3 align=center><A HREF="DataEntry.asp">Сбросить заказ</A></H3>
</font>
</body>
</html>
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права
защищены.
Построение страниц ASP
ASP обеспечивает мощную и расширяемую среду для создания
сценариев на стороне сервера с помощью любых совместимых с COM
языков программирования и написания сценариев. Данный раздел
посвящен изучению основ использования языков написания сценариев
для создания файла .asp. Будет рассмотрено выполнение широкого
спектра основных задач программирования от создания цикла до
обращения к базе данных и обработки транзакций. Начинающие
пользователи и имеющие опыт написания сценариев могут
рассматривать разделы этой главы как цели разработки, то есть как
демонстрации, направленные на рассмотрение более сложных способов
использования ASP. Это может привести к созданию более мощных и
простых в эксплуатации приложений.
Хотя в этих разделах вводятся некоторые понятия программирования и
написания сценариев, они не предназначены для обучения языку
написания сценариев. Языки написания сценариев корпорации
Майкрософт (Microsoft VBScript и Microsoft JScript) снабжены своей
собственной документацией; написание сценариев описано во
множестве книг, имеющихся в продаже. Новичкам в написании
сценариев рекомендуется обратиться к книгам и ресурсам Интернета,
которые помогут освоить эти языки.
В данном разделе описываются следующие вопросы.

Создание страницы ASP. Описывается файл ASP и объясняется
добавление команд сценария на страницу.
















Работа с языками сценариев. Объясняется установка
основного языка сценариев и использование VBScript и JScript в
сценариях на сервере.
Использование переменных и констант. Вводные сведения об
использовании переменных в сценариях ASP и описание доступа к
определениям констант.
Взаимодействие с клиентскими сценариями. Описывается
написание сценариев на стороне сервера, которые создают и
взаимодействуют со сценариями на стороне клиента.
Написание процедур. Описывается определение процедур
(функций и подпрограмм) и вызов их из сценария на стороне
сервера.
Работа с семействами. Описывается получение доступа к
элементам встроенных семейств объектов, включая перебор
элементов семейства.
Обработка сведений, введенных пользователем.
Объясняется сбор и обработка сведений, полученных из HTMLформы.
Использование компонентов и объектов. Объясняется
создание экземпляра объекта для компонента COM, использование
встроенных объектов ASP и использование методов и свойств
любых объектов.
Задание области определения объектов. Демонстрируется
область определения объекта и описывается создание объектов,
определенных для сеанса и приложения.
Отправка содержимого в веб-обозреватель. Описывается
управление способом передачи страниц в обозреватель.
Включение файлов. Объясняется использование оператора
#include для включения содержимого файла в файл .asp.
Управление сеансами. Описывается сохранение сведений о
пользователе.
Доступ к источнику данных. Объясняется использование ASP и
Microsoft ActiveX Data Objects (ADO) для извлечения сведений из
базы данных.
Представление о транзакциях. Демонстрируется выполнение
сценария в контексте транзакции. Деловые приложения и
приложения, связанные с обработкой кредитных карт, часто
требуют возможности запуска сценариев и компонентов внутри
транзакции.
Отладка сценариев ASP. Описывается использование отладчика
Microsoft Script Debugger для поиска и устранения ошибок в
сценариях.
Встроенные объекты ASP. Предлагается краткий обзор
встроенных объектов ASP и ссылки на более подробные сведения.
Краткий справочник по объектам ASP. Содержит краткий
справочник по встроенным объектам ASP.
В разделе не затрагиваются следующие темы.


Разработка сложных семейств сценариев, называемых
приложениями; см. в разделе Разработка веб-приложений.
Проектирование веб-приложений; см. в разделе Проектные
решения.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права
защищены.
Создание страницы ASP
Файл Active Server Pages (ASP) представляет собой текстовый файл с
расширением .asp. Этот файл может содержать:



текст;
теги языка HTML;
сценарии на стороне сервера.
Для быстрого создания файла .asp достаточно переименовать HTMLфайл, сменив расширение .htm или .html на .asp. Если файл не содержит
функций ASP, сервер просто выполняет эффективную отправку файла на
компьютер пользователя. Эта черта обеспечивает дополнительные
удобства для веб-разработчиков, которые могут давать файлам
расширение .asp, даже если не предполагают впоследствии включать в
них функции ASP.
Для опубликования вновь созданного файла .asp в Интернете следует
сохранить его в виртуальном каталоге веб-узла (последний должен
иметь разрешение «Сценарий» или «Выполнение»). После этого можно
обратиться к данному файлу в запросе, указав в обозревателе
соответствующий адрес URL. (Необходимо помнить, что поскольку
страницы ASP должны обрабатываться на сервере, ввод физического
пути к файлу .asp в данном случае недопустим.) Переданный сервером
файл при просмотре в обозревателе представляет собой страницу HTML.
В этом есть определенный смысл, так как перед отправкой файла на
сервере выполняется его синтаксический анализ и выполняются все
серверные сценарии ASP. Поэтому пользователи всегда получают
обычные файлы HTML.
Файлы .asp могут создаваться в любом текстовом редакторе. По мере
накопления опыта более удобной может оказаться работа в специальном
редакторе, включающем дополнительную поддержку ASP, таком как
Microsoft® Visual InterDev™. Дополнительные сведения см. на веб-узле
Microsoft Visual InterDev.
Добавление команд в сценарий для сервера
Серверный сценарий состоит из последовательности инструкций,
обеспечивающих поочередное поступление команд на веб-сервер.
(Разработчикам веб-узлов могут быть хорошо знакомы клиентские
сценарии, которые выполняется на веб-обозревателе.) В файлах .asp
для обособления сценариев от текстовых данных и тегов HTML
используются разделители. Разделителем является символ или
последовательность символов, которыми обозначается начало или конец
раздела. Язык HTML в качестве таких разделителей использует символы
(<) и (>), между которыми располагаются теги HTML.
В ASP команды сценариев заключаются в разделители <% и %>. Внутри
разделителей могут использоваться любые допустимые команды
используемого языка сценариев. Ниже показан пример простой
страницы HTML с командами сценария.
<HTML>
<BODY>
Страница была обновлена <%= Now() %>.
</BODY>
</HTML>
Функция VBScript Now() возвращает текущие дату и время. Во время
обработки данной страницы веб-обозреватель заменит <%= Now() %>
текущими значениями даты и времени. Полученный результат будет
передан в обозреватель:
Страница была обновлена 01/29/99 2:20:00 PM.
Заключенные в разделители команды называют основными командами
сценариев, которые обрабатываются с помощью основного языка
сценариев. Команда внутри разделителей должна являться разрешенной
командой основного языка сценариев. Основным языком сценариев по
умолчанию является VBScript, но пользователь имеет возможность
установить другой основной язык. См. Работа с языками сценариев.
Разработчикам клиентских сценариев хорошо знаком HTML-тег
<SCRIPT>, используемый для выделения команд и выражений. В
серверных сценариях тег <SCRIPT> может применяться для определения
процедур на нескольких языках, содержащихся в одном файле .asp.
Дополнительные сведения по этому вопросу см. в разделе Работа с
языками сценариев.
Совместное использование тегов HTML и
команд языка сценариев
В разделители ASP можно поместить любую инструкцию, выражение,
процедуру или оператор, применение которых разрешено в
используемом основном языке сценариев. Под инструкцией в VBScript и
других языках написания сценариев понимают синтаксически полную
конструкцию, которой описывается один вид действия, объявления или
определения. Примером часто используемой инструкции является
условная инструкция If...Then...Else.
<%
Dim dtmHour
dtmHour = Hour(Now())
If dtmHour < 12 Then
strGreeting = "Доброе утро!"
Else
strGreeting = "Привет всем!"
End If
%>
<%= strGreeting %>
В зависимости от времени дня присваивается значение "Доброе утро!" или
"Привет всем!" строковой переменной strGreeting. Инструкция <%=
strGreeting %> отправляет текущее значение переменной в обозреватель.
Таким образом, до 12:00 дня (по местному времени) на экраны
пользователей выводится строка:
Доброе утро!
После 12:00 пользователи увидят сообщение:
Привет всем!
Между различными частями инструкции может располагаться HTMLтекст. Так, результат выполнения приведенного ниже сценария с тегами
языка HTML и инструкцией If...Then...Else является таким же, как и в
примере выше:
<%
Dim dtmHour
dtmHour = Hour(Now())
If dtmHour < 12 Then
%>
Доброе утро!
<% Else %>
Привет всем!
<% End If %>
Если заданное в сценарии условие выполняется (полдень еще не
наступил), веб-сервер отправляет в обозреватель указанный в условии
текст HTML (“Доброе утро”). В противном случае в обозреватель
отправляется строка (“Привет всем!”), указанная после Else. Подобное
чередование HTML-текста и команд сценариев часто применяется при
работе с инструкцией If...Then...Else. Применение рассмотренной выше
конструкции удобно, если приветствие требуется вывести в нескольких
местах веб-страницы. Значение переменной может быть установлено
только один раз, после чего оно может использоваться многократно.
HTML-текста может также передаваться в обозреватель непосредственно
из команды сценария, а не размещаться между различными командами.
Возврат текста в обозреватель осуществляется встроенным объектом ASP
Response. Результат выполнения следующего сценария тот же, что и в
предыдущем примере:
<%
Dim dtmHour
dtmHour = Hour(Now())
If dtmHour < 12 Then
Response.Write "Доброе утро!"
Else
Response.Write "Привет всем!"
End If
%>
Команда Response.Write отправляет расположенный после нее текст в
обозреватель. Инструкцию с Response.Write следует использовать в тех
случаях, когда возвращаемый в обозреватель текст должен создаваться
динамически. Таким образом, например, можно составить строку из
значений нескольких переменных. Чтобы узнать больше об объекте
Response в частности и об объектах вообще, обратитесь к разделам
Использование компонентов и объектов и Отправка содержимого в вебобозреватель. Сейчас же просто следует заметить, что добавление
команд сценария на страницу HTML можно осуществить несколькими
способами.
Допускается включение процедур, написанных на основном языке
сценариев, с использованием разделителей ASP. Дополнительные
сведения см. в разделе Работа с языками сценариев.
При создании сценария на языке JScript непосредственно в команды ASP
могут включаться инструкции в фигурных скобках. В этих конструкциях
допускается также присутствие HTML-тегов и текста. Например:
<%
if (screenresolution == "low")
{
%>
Текстовая версия страницы.
<%
}
else
{
%>
Мультимедийная версия страницы.
<%
}
%>
--или-<%
if (screenresolution == "low")
{
Response.Write("Текстовая версия страницы.")
}
else
{
Response.Write("Мультимедийная версия страницы.")
}
%>
Работа с директивами ASP
В ASP имеются директивы, которые не входят в состав языка, на котором
создаются сценарии: директива вывода и директива обработки.
В ASP директива вывода <%= выражение %> позволяет вывести значение
выражения на экран. Эта директива вывода равнозначна команде
Response.Write. Например, выражение <%= city %> можно использовать
для вывода на экран слова Baltimore (текущее значение переменной) в
обозревателе.
Директива обработки <%@ ключевое слово %> позволяет передавать в ASP
данные, которые необходимы для обработки файла .asp. В следующем
примере показаны директивы для VBScript в качестве основного языка
сценариев на странице:
<%@ LANGUAGE=VBScript %>
Директива обработки должна быть первой строкой в файле «.asp». Если
страница должна содержать несколько директив, они должны
располагаться внутри одной пары разделителей. Включение в файл
директивы обработки с помощью инструкции #include не допускается.
(Дополнительные сведения см. в разделе Включение файлов.) От
ключевого слова знак (@) должен отделяться пробелом. Ниже
перечислены ключевые слова, которые могут применяться в директивах
обработки.





LANGUAGE. Установка языка сценария для файла «.asp». См.
Работа с языками сценариев.
ENABLESESSIONSTATE. Это ключевое слово указывает на
использование в файле «.asp» сведений о состоянии сеанса. См.
Управление сеансами.
CODEPAGE. Установка кодовой страницы (кодировки символов) для
файла «.asp».
LCID. Установка для файла кода языка (местности).
TRANSACTION. Выполнение файла «.asp» в контексте транзакции.
См. Представление о транзакциях.
Важно! Одна директива может содержать несколько ключевых слов.
Пары, образуемые ключевым словом и значением, должны разделяться
пробелами. Пробелы (=) вокруг знака равенства не допускаются.
В следующем примере задаются язык сценария и кодовая страница:
<%@ LANGUAGE="JScript" CODEPAGE="932" %>
Пустые промежутки в сценариях
Если основным языком сценария является VBScript или JScript, ASP
автоматически убирает пустые промежутки, которые могут встречаться в
командах. В случае остальных языков написания сценариев эти
промежутки сохраняются. Это обеспечивает правильность
интерпретации команд в языках, где могут иметь значение
местоположение элементов и отступы. Пустыми промежутками являются
пробелы, знаки табуляции, возврата каретки и разрыва строки.
В языках VBScript и JScript допускается оставлять промежутки после
открывающим и перед закрывающим разделителем. Это облегчает
чтение команд. Все перечисленные ниже инструкции правильны:
<% Color = "Green" %>
<%Color="Green"%>
<%
Color = "Green"
%>
Промежуток между закрывающими разделителем одной инструкции и
открывающим разделителем другой в ASP удаляется автоматически. Тем
не менее, использование пропусков повышает легкость чтение. Чтобы
сохранить промежуток между двумя инструкциями, например при
отображении значений переменных в предложении, следует
пользоваться знаком неразрывного пробела из языка HTML ( ).
Например:
<%
'Определение двух переменных со строковыми значениями.
strFirstName = "Иван"
strLastName = "Петров"
%>
<P>Автор веб-страницы "<%= strFirstName %> <%= strLastName %>." </P>
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права
защищены.
Работа с языками сценариев
Языки программирования, например Visual Basic, C++ и Java,
обеспечивают доступ на нижнем уровне к ресурсам компьютера. Они
используются для создания больших и сложных программных
комплексов. Языки написания сценариев, в свою очередь, используются
для создания программ ограниченных возможностей, называемых
сценариями, которые выполняют функции веб-узла на веб-сервере или в
обозревателе. В отличие от сложных языков программирования, языки
написания сценариев интерпретируются: инструкции последовательно
выполняются промежуточной программой, называемой интерпретатором
команд. Хотя интерпретация уменьшает эффективность выполнения,
языки написания сценариев просты для изучения и обеспечивают
большие возможности. Сценарии могут быть встроены в HTML-страницы
для форматирования содержимого или могут реализовывать компоненты
COM, заключающие в себе бизнес-логику.
Active Server Pages предоставляют веб-разработчикам возможность
написания сценариев, выполняемых на сервере, на различных языках
сценариев. Фактически, внутри одного файла .asp могут быть
использованы несколько языков написания сценариев. Кроме того,
поскольку сценарии выполняются на сервере, обозреватель,
запрашивающий файл .asp, может не иметь средства поддержки
сценариев.
Можно использовать любой язык написания сценариев, соответствующий
обработчик сценариев для которого установлен на веб-сервере.
Обработчик сценариев — это программа, которая обрабатывает команды,
записанные на определенном языке. ASP поставляется с двумя
обработчиками сценариев ActiveX: Microsoft Visual Basic Scripting Edition
(VBScript) и Microsoft JScript (JScript). Можно установить и использовать
обработчики для других языков написания сценариев, например REXX,
PERL и Python.
Те, кто знаком с программированием на Visual Basic, могут сразу же
начать использовать VBScript, который является подмножеством Visual
Basic. Программисты, знающие Java, C или C++, обнаружат, что
синтаксис JScript знаком им, хотя JScript непосредственно не связан с
Java или C.
Те, кто знаком с другими языками написания сценариев, например REXX,
Perl или Python, могут получить и установить соответствующий
обработчик сценариев, чтобы использовать уже известный язык. Active
Server Pages представляет собой сервер сценариев COM; чтобы
использовать язык, необходимо установить обработчик сценариев,
который следует стандартам написания сценариев COM и находится на
веб-сервере в качестве объекта COM (Component Object Model —
компонентная модель объектов).
Задание основного языка сценариев
Основной язык сценариев ASP представляет собой языке, используемый
для обработки команд между ограничителями <% и %>. По умолчанию
основным языком сценариев является VBScript. В качестве основного
языка сценариев можно использовать любой язык написания сценариев,
для которого имеется обработчик сценариев. Основной язык сценариев
может быть установлен для отдельных страниц или для всех страниц
ASP-приложения.
Задание языка для приложения
Чтобы установить основной язык сценариев для всех страниц
приложения, установите свойство Язык ASP по умолчанию на вкладке
Параметры приложений в объекте IIS. Дополнительные сведения см.
в разделе Настройка приложений ASP.
Задание языка для страницы
Чтобы установить основной язык сценариев для одной страницы,
добавьте директиву <%@ LANGUAGE %> в начало файла .asp. Синтаксис
директивы:
<%@ LANGUAGE=ЯзыкСценария %>
где ЯзыкСценария — основной язык сценария, который должен быть
установлен для определенной страницы. Настройка для определенной
страницы перекрывает общие настройки для всех страниц приложения.
Следуйте рекомендациям по использованию директив ASP;
дополнительные сведения см. в разделе Создание страницы ASP.
Примечание. Чтобы использовать в качестве основного язык, который
не поддерживает синтаксис Объект.Метод, необходимо сначала создать
раздел реестра LanguageEngines. Дополнительные сведения см. в
разделе Общие сведения о системном реестре.
Использование VBScript и JScript на
сервере
При использовании VBScript на сервере с ASP, две возможности VBScript
запрещены. Поскольку сценарии, написанные для Active Server Pages
исполняются на сервере, не поддерживаются операторы VBScript, в
которых присутствуют элементы интерфейса пользователя InputBox и
MsgBox. Кроме того, в сценариях на стороне сервера нельзя
использовать функции VBScript CreateObject и GetObject. Вместо этого
используйте Server.CreateObject, чтобы ASP мог отследить экземпляр
объекта. Объекты, созданные с помощью CreateObject или GetObject,
не могут обращаться к встроенным объектам ASP и не могут участвовать
в транзакциях. Исключениями из этого правила является использование
объектов IIS Admin и использование Java monikers. Дополнительные
сведения см. в разделах Объекты IIS Admin и Создание объекта из
класса Java.
Списки и описания всех операторов, функций, команд, объектов, свойств
и методов VBScript и JScript приведены в справочниках по
соответствующим языкам. Справочник можно найти на веб-узле
Windows Script Technologies.
Вставка комментариев
Поскольку обработка всех сценариев в ASP производится на сервере, нет
необходимости включать теги комментариев HTML, скрывающие
сценарии от обозревателей, не поддерживающих сценарии, как это
часто делается в сценариях на стороне клиента. Все команды ASP
обрабатываются до пересылки содержимого в обозреватель. Можно
использовать комментарии HTML для добавления примечаний к HTMLстранице; комментарии передаются в обозреватель и видны
пользователю при просмотре исходного текста в формате HTML.
Комментарии VBScript
В VBScript поддерживаются комментарии, начинающиеся с апострофа. В
отличие от комментариев HTML, они удаляются при обработке сценария
и не передаются в обозреватель.
<%
'Эта строка и две следующих являются комментариями.
'Функция PrintTable печатает все
'элементы в массиве.
PrintTable MyArray()
%>
Нельзя включать комментарий в выходное выражение. Например, первая
из приведенных ниже строк будет работать, а вторая — нет, поскольку
она начинается с <%=.
<% i = i +1 'Эта команда увеличивает i на 1. (Этот сценарий будет работать.)
%>
<%= name 'Эта команда печатает имя переменной. (Этот сценарий не будет
выполнен.) %>
Комментарии JScript
В JScript поддерживаются символы комментариев //. Эти символы
следует использовать на каждой строке комментария.
<%
var x
x = new Date()
// Эта строка передает в обозреватель текущую дату,
// преобразованную в строку.
Response.Write(x.toString())
%>
Учет регистра
VBScript не учитывает регистр вводимых данных. Например, можно
использовать Request или request для указания объекта ASP Request.
Единственным последствием этого является невозможность различения
переменных по использованному регистру. Например, нельзя создать
две отдельных переменных с именами Color и color.
JScript учитывает регистр. Когда в сценарии используются ключевые
слова JScript, они должны быть введены именно так, как указано в
справочной странице по этому ключевому слову. Например,
использование date вместо Date вызовет ошибку. Регистр, показанный в
документации по встроенным объектам ASP, будет действовать и в
командах JScript.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права
защищены.
Использование переменных и
констант
Переменная — это именованная область памяти компьютера,
содержащая данные, например числа или текстовые строки. Данные,
содержащиеся в переменной, называются значением переменной.
Переменные предлагают способ хранения, извлечения и
манипулирования данными с помощью имен, что помогает понять работу
сценария.
Объявление и именование переменных
Следуйте правилам и рекомендациям языка написания сценариев по
именованию и объявлению переменных. Даже если не требуется
объявить переменную перед использованием, явное объявление
переменных является хорошей привычкой, поскольку это позволяет
предотвращать ошибки. Объявление переменной означает уведомление
обработчика сценариев о том, что переменная с определенным именем
существует. После этого можно использовать ссылки на переменную в
сценарии.
VBScript
VBScript не требует объявления переменных, но считается хорошим
стилем написания сценариев объявлять все переменные перед их
использованием. Чтобы объявить переменную в VBScript, используйте
операторы Dim, Public или Private. Например:
<% Dim UserName %>
Можно использовать оператор VBScript Option Explicit в файле .asp,
чтобы требовать явного объявления переменных операторами Dim,
Private, Public и ReDim. Оператор Option Explicit должен появиться
после любой директивы ASP, но перед текстами HTML и командами
сценария. Этот оператор влияет на команды ASP, написанные на
VBScript; но не оказывает влияния на команды JScript.
<% Option Explicit %>
<HTML>
<%
Dim strUserName
Public lngAccountNumber
%>
.
.
.
Дополнительные сведения об этих командах см. в справочнике по языку
VBScript, который можно найти на веб-узле Microsoft Windows Script
Technologies.
JScript
Хотя JScript обычно не требует объявления переменных, но считается
хорошим стилем написания сценариев объявлять все переменные перед
их использованием. Чтобы объявить переменную, используйте оператор
var. Например:
<% var UserName %>
Обычно необходимо объявлять переменную в JScript, когда необходимо
отличить переменную внутри функции от глобальной переменной,
используемой вне функции. В этом случае если не отличать эти две
переменные, JScript будет предполагать, что ссылаются исключительно
на глобальную переменную. Дополнительные сведения об операторе var
см. в справочнике по языку JScript. Справочник можно найти на веб-узле
Windows Script Technologies.
Область определения переменной
Область определения, или время жизни, переменной определяет
команды сценария, которые могут обращаться к переменной.
Переменная, объявленная внутри процедуры, имеет локальную область
определения; переменная создается и уничтожается при каждом
выполнении процедуры. Извне процедуры доступ к переменной
невозможен. Переменная, объявленная вне процедуры, имеет
глобальную область определения; ее значение доступно и может быть
изменено любой командой сценария на странице ASP.
Примечание. Ограничение области определения переменной рамками
процедуры повышает быстродействие.
Если переменные объявлены, глобальная и локальная переменные могут
иметь одно и то же имя. Изменение значения одной не вызовет
изменения значения другой. Если переменные не объявлены, можно
непреднамеренно изменить значение глобальной переменной. Например,
приведенные ниже команды сценария возвращают значение 1, даже
если имеется две переменных с именем Y:
<%
Option Explicit
Dim Y
Y = 1
SetLocalVariable
Response.Write Y
Sub SetLocalVariable
Dim Y
Y = 2
End Sub
%>
Приведенные ниже команды сценария, напротив, возвращают значение
2, поскольку переменные не объявлены явным образом. Когда вызов
процедуры устанавливает Y в значение 2, обработчик сценариев
предполагает, что процедура изменяет глобальную переменную.
<%
Option Explicit
Dim Y = 1
SetLocalVariable
Response.Write Y
Sub SetLocalVariable
Y = 2
End Sub
%>
Чтобы избежать подобных проблем, выработайте привычку явно
объявлять все переменные. Это особенно важно при использовании
оператора #include для вставки файлов в файл .asp. Включенный
сценарий содержит отдельный файл, но рассматривается как часть
включающего файла. Если не объявлять переменные, можно забыть о
необходимости использования различных имен переменных в главном
сценарии и вставленном сценарии.
Установка в качестве области определения
переменной сеанса или приложения
Глобальные переменные доступны только в отдельном файле .asp. Чтобы
сделать переменную доступной вне отдельной страницы, в качестве ее
области определения должны быть указаны сеанс или приложение.
Переменные сеанса доступны для всех страниц приложения ASP, которое
запрошено одним пользователем. Переменные приложения доступны для
всех страниц приложения ASP, которое запрошено любым
пользователем. Переменные сеанса являются удачным способом
хранения сведений об отдельных пользователях, например параметры,
имя пользователя или идентификационный код. Переменные
приложения позволяют хранить сведения обо всех пользователях
определенного приложения, например приветствие приложения или
общие значения, необходимые приложению.
ASP предлагает два встроенных объекта, которые могут хранить
переменные: объект Session (сеанс) и объект Application
(приложение).
Можно также создать экземпляры объектов, имеющие в качестве области
определения сеанс или приложение. Дополнительные сведения см. в
разделе Задание области определения объекта.
Область определения — сеанс
Чтобы указать сеанс в качестве области определения переменной,
сохраните ее в объекте Session, назначив значение поименованной
записи в объекте. Ниже приводится пример команды сохранения двух
новых переменных в объекте Session.
<%
Session("FirstName") = "Михаил"
Session("LastName") = "Петров"
%>
Чтобы извлечь информацию из объекта Session, получите доступ к
поименованной записи с помощью директивы вывода (<%=) или
Response.Write. Приведенный ниже пример использует директиву
вывода для отображения текущего значения Session("FirstName"):
Вас приветствует <%= Session("FirstName") %>
Объект Session позволяет также сохранить сведения о предпочтениях
пользователя, на основании которых впоследствии можно будет
определить, какую страницу следует ему отправить. Так, если на первой
странице приложения пользователем выбирается текстовое
представление сведений, та же форма представления может
использоваться применительно к остальным страницам приложения,
которые он посетит.
<%
strScreenResolution = Session("ScreenResolution")
If strScreenResolution = "Low" Then
%>
Текстовая версия страницы.
<% Else %>
Мультимедийная версия страницы.
<% End If %>
Примечание. Если на переменную сеанса в сценарии ссылаются
несколько раз, для увеличения быстродействия предусмотрите, как в
предыдущем примере, присвоение ее значения локальной переменной.
Область определения — приложение
Чтобы указать приложение в качестве области определения переменной,
сохраните ее в объекте Application, назначив значение поименованной
записи в объекте. Ниже приводится пример команды приветствия
приложения в объекте Application.
<% Application("Greeting") = "Вас приветствует отдел продаж!" %>
Чтобы извлечь информацию из объекта Application, используйте
директиву вывода (<%=) или Response.Write для получения доступа к
поименованной записи с любой последующей страницы приложения.
Приведенный ниже пример использует директиву вывода для
отображения значения Application("Greeting"):
<%= Application("Greeting") %>
Если сценарий часто использует переменную приложения, для
повышения быстродействия следует присвоить ее значение локальной
переменной.
Использование констант
Константа — это имя, которое используется вместо числа или строки.
Некоторые основные компоненты, поставляемые с ASP, например ActiveX
Data Objects (ADO), определяют константы, которые можно использовать
в сценарии. Компонент может объявить константы в библиотеке типов
компонента — файле, содержащем сведения об объектах и типах,
поддерживаемых компонентом COM. Объявив библиотеку типов в файле
.asp, можно использовать константы в любом сценарии в том же файле
.asp. Аналогично можно объявить библиотеку типов в файле Global.asa,
чтобы использовать константы в любом файле .asp в приложении.
Чтобы объявить библиотеку типов, используйте тег <METADATA> в
файле .asp или файле Global.asa. Например, чтобы объявить библиотеку
типов ADO, используйте приведенные ниже операторы:
<!--METADATA NAME="Microsoft ActiveX Data Objects 2.5 Library" TYPE="TypeLib"
UUID="{00000205-0000-0010-8000-00AA006D2EA4}"-->
Можно также указать не универсальный уникальный идентификатор
(UUID) библиотеки типов, а путь к этой библиотеке типов:
<!-- METADATA TYPE="typelib" FILE="c:\program files\common
files\system\ado\msado15.dll"-->
Затем можно использовать константы ADO в файле .asp, в котором
объявлена библиотека типов, или в файле .asp, относящемся к
приложению, содержащему файл Global.asa с объявлением библиотеки
типов ADO. В приведенном ниже примере adOpenKeyset и adLockOptimistic
являются константами ADO:
<%
'Создание и открытие объекта Recordset.
Set rstCustomerList = Server.CreateObject("ADODB.Recordset")
rstCustomerList.ActiveConnection = cnnPubs
rstCustomerList.CursorType = adOpenKeyset
rstCustomerList.LockType = adLockOptimistic
%>
В приведенной ниже таблице перечислены часто используемые
библиотеки типов и универсальные уникальные идентификаторы (UUID):
Библиотека
типов
UUID
Библиотека
Microsoft
ActiveX Data
Objects 2.5
{00000205-0000-0010-8000-00AA006D2EA4}
Библиотека
Microsoft
CDO 1.2 для
Windows
2000 Server
{0E064ADD-9D99-11D0-ABE5-00AA0064D470}
Библиотека
MSWC
Advertisement {090ACFA1-1580-11D1-8AC0-00C0F00910F9}
Rotator
Object
Библиотека
объектов
журнала
MSWC IIS
{B758F2F9-A3D6-11D1-8B9C-080009DCC2FA}
Справочные сведения о теге <METADATA> см. в разделе Объявления
библиотек типов.
В предыдущих версиях ASP некоторые компоненты обеспечивали
определения констант в файлах, которые должны были быть включены в
каждый файл ASP, использующий константы. Использование директивы
#include для включения определения констант все еще
поддерживается, но библиотеки типов проще использовать, а сценарии с
их помощью проще обновлять. В будущих выпусках ASP компоненты
могут не формировать файлы определения констант.
Примечание. Использование тега <METADATA>, а не директивы
#include, может повысить быстродействие веб-приложения.
Можно определить собственный набор констант. В VBScript используйте
оператор Const. В JScript можно использовать оператор var для
присвоения постоянного значения переменной. Если необходимо
использовать константы в нескольких файлах .asp, поместите
объявления в отдельный файл и включайте его в каждый файл .asp,
использующий эти константы.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права
защищены.
Взаимодействие с клиентскими
сценариями
Средства ASP позволяют создавать клиентские сценарии и управлять
ими. Например, имеется возможность создания серверных сценариев,
объединяющих клиентские сценарии с учетом используемых на сервере
переменных, типа обозревателя, с которым работает пользователь, или
параметров HTTP-запроса.
Совместное использование инструкций серверных и клиентских
сценариев (в HTML-тегах <SCRIPT>), пример которого показан в
следующем шаблоне, позволяет динамически инициализировать и
изменять клиентские сценарии в ходе выполнения запроса:
<SCRIPT LANGUAGE=VBScript>
<!-переменная = <%=определяемые сервером значение %>
.
.
.
Сценарий на стороне клиента
<% Сценарий на стороне сервера используется для создания инструкции на
стороне клиента %>
Сценарий на стороне клиента
.
.
.
-->
</SCRIPT>
Применение подобных возможностей позволяет создавать полезные и
интересные приложения. Ниже представлен пример серверного сценария
(на VBScript), который управляет клиентским сценарием (на JScript):
<%
Dim dtmTime, strServerName, strServerSoftware, intGreeting
dtmTime = Time()
strServerName = Request.ServerVariables("SERVER_NAME")
strServerSoftware = Request.ServerVariables("SERVER_SOFTWARE")
'Создание случайного числа.
Randomize
intGreeting = int(rnd * 3)
%>
<SCRIPT LANGUAGE="JScript">
<!-//Вызов функции для отображения приветствия
showIntroMsg()
function showIntroMsg()
{
switch(<%= intGreeting %>)
{
case 0:
msg = "На веб-сервере <%= strServerName%> выполняется <%=
strServerSoftware %>."
break
case 1:
msg = "Вас приветствует веб-сервер <%= strServerName%>. Местное время
<%= dtmTime %>."
break
case 2:
msg = "На сервере выполняется <%= strServerSoftware %>."
break
}
document.write(msg)
}
-->
</SCRIPT>
Подобные сценарии могут быть дополнены, например модулем для
настройки клиентской базы данных или для личной настройки DHTML.
Применение этого передового подхода позволит, в числе прочего,
снизить загрузку, связанную с двойным обменом данными между
сервером и компьютером пользователя, и сократить обработку, которая
выполняется на сервере.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права
защищены.
Написание процедур
Процедура является группой команд сценария, выполняющих
определенную задачу и возвращающих значение. Можно определять
собственные процедуры и вызывать их из сценария любое число раз.
Определение процедур можно поместить в тот же файл .asp, из которого
они будут вызываться, или можно поместить наиболее часто
используемые процедуры в общий файл .asp и использовать директиву
#include, чтобы включить его в другие файлы .asp, вызывающие
процедуры. Кроме того, можно реализовать те же функции в компоненте
COM.
Определение процедур
Определение процедур должны быть заключены в теги <SCRIPT> и
</SCRIPT> и соответствовать правилам объявленного языка сценариев.
Для процедур на языках, отличающихся от основного языка сценариев,
служит элемент <SCRIPT>. Для процедур на основном языке сценариев
служат ограничители сценариев (<% и %>).
При использовании тега HTML <SCRIPT> для указания, что сценарий
следует выполнять на сервере, необходимо использовать два атрибута.
Синтаксис использования тега <SCRIPT>:
<SCRIPT LANGUAGE=JScript RUNAT=SERVER>
определение процедуры
</SCRIPT>
Атрибут RUNAT=SERVER указывает, что сценарий должен быть выполнен
на веб-сервере. Если не установить этот атрибут, данный сценарий будет
выполнен в обозревателе клиента. Атрибут LANGUAGE определяет язык
сценариев, используемый в данном блоке сценария. Можно указать
любой язык, для которого на сервере установлен обработчик сценариев.
Для указания VBScript случит значение VBScript. Для указания JScript
случит значение JScript. Если не указать атрибут LANGUAGE, будет
считаться, что в блоке сценария использован основной язык сценариев.
Команды в блоке сценариев должны составлять одну или несколько
полных процедур на выбранном языке сценариев. Например, следующие
команды определяют процедуру JScript MyFunction.
<HTML>
<SCRIPT LANGUAGE=JScript RUNAT=SERVER >
function MyFunction()
{
Response.Write("You called MyFunction().")
}
</SCRIPT>
Важно! Не вставляйте между тегами <SCRIPT> на стороне сервера
команды сценариев, не являющиеся частью процедур. Команды, не
являющиеся частью процедуры, могут вызвать непредсказуемые
результаты, так как программа выполняется в следующем порядке.
Блоки сценария не нестандартных языках выполняются в порядке их
размещения, затем выполняется внутренний код, а затем блоки сценария
на стандартном языке. Кроме того, в процедуре нельзя использовать
директиву вывода ASP <%= %>. Вместо этого для отправки содержимого
обозревателю следует использовать инструкцию Response.Write.
Вызов процедур
Для вызова процедуры ее имя следует включить в команду. При вызове
процедур JScript из VBScript необходимо использовать скобки после
имени процедуры; если процедуре не требуются аргументы, оставьте
скобки пустыми. При вызове процедур VBScript или JScript из JScript
после имени процедуры всего следует ставить скобки.
В VBScript для вызова процедуры также можно использовать ключевое
слово Call. Однако если вызываемой процедуре требуется аргументы,
список аргументов должен быть заключен в скобки. Если ключевое слово
Call опущено, также следует опустить скобки, в который заключен
список аргументов. Если для вызова любой встроенной или
пользовательской функции используется синтаксис Call, значение,
возвращаемое функцией, теряется.
Следующий пример иллюстрирует создание и вызов процедур с
использованием двух разных языков сценариев (VBScript и JScript).
<%@ LANGUAGE=VBScript %>
<HTML>
<BODY>
<!-- Call the JScript procedure from within VBScript-->
<% call printDate() %>
<!--Call the VBScript procedure from within VBScrip-->
<% Echo %>
<BR>
</BODY>
</HTML>
<%Sub Echo%>
<!--Следует отметить, что это не приведет к выводу никаких результатов, за
исключением случая, когда страница вызывается строкой запроса типа следующей:
http://localhost/test.asp?x=1%20have&y=a%20cunning&z=plan -->
<%
Response.Write "<TABLE BORDER=1>" & _
"<TR><TH>Name</TH><TH>Value</TH></TR>"
Set objQueryString = Request.QueryString
For Each strSelection In objQueryString
Response.Write "<TR><TD>" & strSelection & "</TD><TD>" & _
objQueryString(strSelection) & "</TD></TR>"
Next
Response.Write "</TABLE>"
End Sub
%>
<SCRIPT LANGUAGE=JScript RUNAT=SERVER>
function printDate()
{
var x
x = new Date()
Response.Write(x.toString())
Response.Write("<BR>")
}
</SCRIPT>
Примечание.
регистра.
Вызовы VBScript функций JScript выполняются без учета
Передача массивов в процедуры
Чтобы передать весь массив процедуре VBScript, используйте имя
массива и следующие за ним пустые скобки; в JScript — пустые
квадратные скобки.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права
защищены.
Работа с семействами
Большинство встроенных объектов ASP предусматривают использование
семейств. Семейства — это структуры данных, подобные массивам, в
которых хранятся строки, числа, объекты и другие значения. Семейства
отличаются от массивов тем, что автоматически расширяются и
сокращаются по мере сохранения или извлечения элементов семейства.
Кроме того, при изменении семейства позиции его элементов также
меняются. Для доступа к элементу семейства можно использовать
уникальный строковый ключ элемента, индекс (позицию) элемента в
семействе или воспользоваться перебором всех элементов семейства.
Доступ к элементу по имени или индексу
Для доступа к отдельному элементу семейства можно указать
уникальный строковый ключ элемента или его имя. Например, в
семейство Contents включаются все переменные, хранящиеся в объекте
Session. Кроме того, это семейство может включать любые объекты,
созданные с помощью вызова метода Server.CreateObject.
Предположим, в объекте Session были сохранены следующие сведения
о пользователе:
<%
Session.Contents("FirstName") = "Meng"
Session.Contents("LastName") = "Phua"
Session.Contents("Age") = 29
%>
Для доступа к элементу можно использовать строковый ключ, который
был связан с этим элементом при его сохранении в данном семействе.
Например, следующее выражение возвращает строку «Meng»:
<%= Session.Contents("FirstName") %>
Кроме того, доступ к элементу возможен по индексу, представляющему
собой число, связанное с данным элементом. Например, следующее
выражение извлекает сведения, хранящиеся во второй позиции в
объекте Session, и возвращает значение «Phua»:
<%= Session.Contents(2) %>
Семейства ASP нумеруются с 1. При добавлении и удалении элементов
семейства индексы элементов могут изменяться. Не следует считать
индекс элемента постоянным значением. Доступ по индексу обычно
используется для перебора элементов семейства, о чем пойдет речь в
следующих разделах, или для извлечения элементов семейства,
доступного только для чтения.
Кроме того, для доступа к элементу по имени может использоваться
сокращенная нотация. Поиск семейств, связанных с объектом, ASP
осуществляет в определенном порядке. Если элемент с заданным именем
встречается в семействах объекта только один раз, имя семейства можно
опустить (однако это может снизить быстродействие):
<%= Session("FirstName") %>
В общем случае, при доступе к элементам, хранящимся в объектах
Application или Session, имя семейства можно не указывать. Однако
при работе с объектом Request будет безопаснее указать имя
семейства, поскольку соответствующие семейства часто содержат
элементы с одинаковыми именами.
Перебор элементов семейства
С помощью перебора элементов семейства можно узнать, что в нем
хранится, а также изменить нужные элементы. Для перебора элементов
семейства необходимо указать имя семейства. Например, инструкция
VBScript For...Each может использоваться для доступа к элементам
объекта Session:
<%
'Описание переменной счетчика.
Dim strItem
'Отображение значения каждого элемента в семействе.
For Each strItem In Session.Contents
Response.Write Session.Contents(strItem) & "<BR>"
Next
%>
Для перебора элементов семейства можно также использовать
инструкцию VBScript For...Next. Например, чтобы вывести три элемента
объекта Session из предыдущего примера, воспользуйтесь следующими
инструкциями:
<%
'Описание переменной счетчика.
Dim intItem
'Повторение цикла, пока счетчик не получит значение 3.
For intItem = 1 To 3
Response.Write Session.Contents(strItem) & "<BR>"
Next
%>
Обычно заранее не известно, сколько элементов содержит семейство.
Поэтому в ASP включена поддержка свойства Count для семейства. Это
свойство возвращает число элементов в семействе. Свойство Count
используется для того, чтобы указать конечное значение счетчика.
<%
'Описание переменной счетчика.
Dim lngItem, lngCount
lngCount = Session.Contents.Count
'Повторение цикла, пока счетчик не получит значение числа элементов
'в семействае.
For lngItem = 1 To lngCount
Response.Write Session.Contents(lngItem) & "<BR>"
Next
%>
В языке JScript для циклического просмотра семейства применяется
инструкция for. Эффективность использования свойства Count в
инструкции JScript for можно повысить, если присвоить значение Count
локальной переменной и использовать эту переменную для определения
конечного значения счетчика. В этом случае обработчику сценариев не
нужно искать значение Count в каждом цикле просмотра. Данный прием
иллюстрируется следующим примером:
<%
var intItem, intNumItems;
intNumItems = Session.Contents.Count;
for (intItem = 1; intItem <= intNumItems; intItem++)
{
Response.Write(Session.Contents(intItem) + "<BR>")
}
%>
Язык Microsoft JScript поддерживает объекты Enumerator, которые
также могут использоваться для просмотра семейств ASP. Метод atEnd
определяет, остались ли еще элементы в семействе. Метод moveNext
обеспечивает переход к следующему элементу семейства.
<%
Session.Contents("Name") = "Suki White"
Session.Contents("Department") = "Hardware"
.
.
.
//Создание объекта Enumerator.
var mycollection = new Enumerator(Session.Contents);
//Перебор элементов семейства с отображением каждого элемента.
while (!mycollection.atEnd())
{
var x = myCollection.item();
Response.Write(Session.Contents(x) + "<BR>");
myCollection.moveNext();
}
%>
Перебор элементов семейства с
использованием подразделов
Сценарии допускают встраивание нескольких связанных значений в
один модуль настройки клиента, что позволяет уменьшить количество
модулей настройки клиента, передаваемых между обозревателем и вебсервером. Поэтому семейство Cookies для объектов Request и
Response может хранить несколько значений в одном элементе. Эти
подэлементы, или подразделы, доступны по отдельности. Подразделы
поддерживаются только в семействах Request.Cookies и
Response.Cookies. Семейство Request.Cookies поддерживает только
операции чтения; семейство Response.Cookies поддерживает только
операции записи.
Следующие инструкции создают два модуля настройки клиента —
обычный и с подразделами:
<%
'Отправка объекта cookie в обозреватель.
Response.Cookies("Fruit") = "Pineapple"
'Send a cookie with subkeys to browser.
Response.Cookies("Mammals")("Elephant") = "African"
Response.Cookies("Mammals")("Dolphin") = "Bottlenosed"
%>
Отправленный в обозреватель текст модуля настройки клиента в ответе
HTTP будет выглядеть следующим образом:
HTTP_COOKIE= Mammals=ELEPHANT=African&DOLPHIN=Bottlenosed; Fruit=Pineapple;
Кроме того, в семействе Request.Cookies можно просмотреть все
модули настройки клиента, а в отдельном модуле — все подразделы.
Однако при попытке просмотреть подразделы модуля настройки клиента,
в котором подразделов нет, обнаружить какие-либо элементы не
удается. Чтобы этого избежать, прежде всего проверьте наличие
подразделов в модуле настройки клиента. Это можно сделать с помощью
атрибута HasKeys семейства Cookies. Данный прием иллюстрируется
следующим примером.
<%
'Описание переменных счетчика.
Dim Cookie, Subkey
'Описание семейства cookie.
For Each Cookie In Request.Cookies
Response.Write Cookie
If Request.Cookies(Cookie).HasKeys Then
Response.Write "<BR>"
'Display the subkeys.
For Each Subkey In Request.Cookies(Cookie)
Response.Write " ->" & Subkey & " = " &
Request.Cookies(Cookie)(Subkey) & "<BR>"
Next
Else
Response.Write " = " & Request.Cookies(Cookie) & "<BR>"
End If
Next
%>
Этот сценарий возвращает следующие результаты:
Mammals
->ELEPHANT = African
->DOLPHIN = Bottlenosed
Fruit = Pineapple
Регистр имени ключа
Семейства Cookies, Request, Response и ClientCertificate допускают
обращение к одной и той же уникальной строке — имени ключа.
Например, в следующих инструкциях в результате обращения к одному и
тому же имени ключа, User, для каждого семейства возвращаются
различные значения:
strUserID = Request.Cookies("User")
strUserName = Request.QueryString("User")
Регистр имени ключа устанавливается первым семейством,
присваивающим значение этому ключу. Рассмотрим следующий
сценарий:
<%
'Retrieve a value from QueryString collection using the UserID key.
strUser = Request.QueryString("UserID")
'Отправка объекта cookie в обозреватель со ссылкой на код UserId, имеющий
другое значение.
Response.Cookies("UserId")= "1111-2222"
Response.Cookies("UserId").Expires="December 31, 2000"
%>
Может показаться, что модуль настройки узла получил имя ключа UserId,
однако на самом деле этому модулю было присвоено имя UserID
(отличающееся регистром букв). Семейство QueryString первым
определило регистр данного ключа.
Поскольку обращения к значениям семейства не зависят от регистра
имени ключа, указанная особенность не отражается на сценариях, если
только соответствующее приложение не обрабатывает имена ключей с
учетом регистра.
Перебор элементов семейства объектов
Семейства Session и Application могут содержать либо скалярные
переменные, либо экземпляры объектов. Семейство Contents может
содержать как скалярные переменные, так и экземпляры объектов,
созданные в результате вызова Server.CreateObject. Семейство
StaticObjects содержит объекты, созданные с помощью тега HTML
<OBJECT> в области определения объекта Session. Для получения
дополнительных сведений об этом способе создания экземпляров
объектов см. раздел Задание области определения объекта.
При переборе элементов семейства, содержащего объекты, возможен
доступ либо к сведениям о состоянии сеанса или приложения для
данного объекта, либо к методам и свойствам объекта. Предположим,
например, что в данном приложении используются несколько объектов,
предназначенных для создания учетных записей пользователей, причем
у каждого объекта существует метод инициализации. Для извлечения
свойств объектов можно организовать перебор элементов семейства
StaticObjects:
<%
For Each Object in Session.StaticObjects
Response.Write Object & ": " & Session.StaticObjects(Object)
Next
%>
Отличия семейств ASP от остальных
семейств
Хотя описанные в этом разделе семейства ASP похожи на объект Visual
Basic Collection, они имеют ряд отличий. Семейства ASP поддерживают
свойство Count и методы Item, Remove и RemoveAll. Метод Add эти
семейства не поддерживают.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права
защищены.
Обработка сведений, введенных
пользователем
Используя объект ASP Request, можно создавать простые, но мощные
сценарии для сбора и обработки данных, вводимых в формы HTML. В
этом разделе вы не только научитесь создавать основные сценарии для
обработки форм, но также узнаете полезные приемы проверки сведений,
введенных в форму, как на веб-сервере, так и в обозревателе
пользователя.
О формах HTML
Формы HTML, наиболее распространенный метод сбора сведений на
основе веб, состоят из группы специальных тегов HTML,
представляющих собой элементы пользовательского интерфейса на вебстранице. Текстовые поля, кнопки и флажки являются примерами
элементов, позволяющих пользователям взаимодействовать с вебстраницей и отправлять сведения на веб-сервер.
Например, следующие теги HTML генерируют форму, в которую
пользователь может ввести имя, фамилию и возраст, включающую
кнопку для отправки сведений на веб-сервер. Эта форма также содержит
скрытый тег ввода (не отображающийся в веб-обозревателе), который
можно использовать для передачи на веб-сервер дополнительных
сведений.
<FORM METHOD="Get" ACTION="Profile.asp">
<INPUT TYPE="Text" NAME="FirstName">
<INPUT TYPE="Text" NAME="FirstName">
<INPUT TYPE="Text" NAME="Age">
<INPUT TYPE="Hidden" NAME="UserStatus" VALUE="New">
<INPUT TYPE="Submit" VALUE="Enter">
</FORM>
Подробное рассмотрение всех тегов формы HTML выходит за рамки
данного раздела. Существует множество источников, рассматривающих
создание полезных и удобных форм HTML. Например, с помощью
функции просмотра источника, имеющейся в веб-обозревателе, можно
просмотреть, как формы HTML создаются на других веб-узлах. Кроме
того, узнать о новых способах использования форм HTML в Интернете
можно в библиотеке разработчика MSDN Online</A.< p>
Обработка в ASP сведений, введенных в форму
Когда форма HTML создана, необходимо обработать сведения, введенные
пользователем, то есть, отправить их файлу .asp для анализа и других
действий. Снова изучите программу HTML, приведенную в предыдущем
примере. Заметьте, что атрибут ACTION тега <FORM> ссылается на файл
Profile.asp. Когда пользователь отправляет сведения HTML, обозреватель
передает их методом POST файлу .asp на сервере, в данном случае —
Profile.asp. Файл .asp может содержать сценарии, обрабатывающие
сведения и взаимодействующие с другими сценариями, компонентами
COM и ресурсами, например, с базой данных.
Существует три основных способа сбора сведений, введенных в формы
HTML, с использованием ASP:



статический файл .htm, содержащий форму, значения из которой
передаются в файл .asp;
файл .asp, создающий форму, отправляющую сведения в другой
файл .asp;
файл .asp, создающий форму, отправляющую сведения самой себе,
то есть, файлу .asp, содержащему форму.
Первые два метода работают так же, как формы, взаимодействующие с
другими программами на веб-сервере, кроме ASP, что существенно
упрощает задачу сбора и обработки сведений, введенных в форму.
Третий метод особенно эффективен и будет рассмотрен в разделе
Проверка сведений, введенных в форму.
Получение данных, введенных в форму
Объект ASP Request предоставляет два семейства, облегчающих
получение сведений, введенных в форму и отправленных по запросу
URL.
Семейство QueryString
Семейство QueryString возвращает значения формы, переданные вебсерверу, в виде текста следующего после вопросительного знака в
запрошенном адресе URL. Значения формы можно добавить к
запрошенному адресу URL, используя либо метод HTTP GET, либо
вручную добавив значения формы в адрес URL.
Например, если в предыдущем примере формы используется метод GET
(METHOD="GET") и пользователь введет Clair, Hector и 30, на сервер
будет отправлен следующий запрос URL:
http://Reskit/Workshop1/Painting/Profile.asp?FirstName=Clair&LastName=Hector&
Age=30&UserStatus=New
Файл Profile.asp может содержать следующий сценарий обработки
данных формы:
Привет, <%= Request.QueryString("FirstName") %> <%=
Request.QueryString("LastName") %>.
Вам <%= Request.QueryString("Age") %> лет!
<%
If Request.QueryString("UserStatus") = "New" Then
Response.Write "Вы в первый раз посещаете данный веб-узел!"
End if
%>
В этом случае веб-сервер вернет пользователю веб-обозревателя
следующий текст:
Привет, Clair Hector. Вам 30 лет! Вы в первый раз посещаете данный веб-узел!
Семейство QueryString также содержит необязательный параметр,
который можно использовать для доступа к одному из нескольких
значений в запрошенном адресе URL (используя метод GET). Кроме того,
используя свойство Count , можно узнать число значений указанного
типа.
Например, форма, содержащая раскрывающийся список, может
генерировать следующий запрос:
http://Reskit/OrganicFoods/list.asp?Food=Apples&Food=Olives&Food=Bread
Для подсчета нескольких значений можно использовать следующую
команду:
Request.QueryString("Food").Count
Для отображения нескольких типов значений файл List.asp должен
содержать следующий сценарий:
<%
lngTotal = Request.QueryString("Food").Count
For i = 1 To lngTotal
Response.Write Request.QueryString("Food")(i) & "<BR>"
Next
%>
Результат работы этого сценария:
Apples
Olives
Bread
Также можно вывести полный список значений, разделенных запятыми,
используя следующую инструкцию:
<% Response.Write Request.QueryString("Item") %>
Будет отображена следующая строка:
Apples, Olives, Bread
Семейство Form
При использовании метода HTTP GET для передачи длинных и сложных
значений формы на веб-сервер возможна потеря сведений. Некоторые
веб-серверы ограничивают длину строки запроса адреса URL, поэтому
длинные значения формы, переданные методом GET, могут быть
обрезаны. Если требуется отправить большой объем сведений из формы
на веб-сервер, следует использовать метод HTTP POST. Метод POST,
отправляющий данные формы в теле запроса HTTP, может отправлять на
сервер текст неограниченного объема. Для получения значений.
отправленных методом POST, можно использовать семейство Form
объекта ASP Request.
Способ хранения значений в семействе Form похож на способ хранения
значений в семействе QueryString. Например, если пользователь
заполнил форму, введя длинный список наименований, их можно
получить с помощью следующего сценария:
<%
lngTotal = Request.Form("Food").Count
For i = 1 To lngTotal
Response.Write Request.Form("Food")(i) & "<BR>"
Next
%>
Проверка сведений, введенных в форму
Профессионально выполненная веб-форма часто включает клиентский
сценарий, выполняющий проверку сведений, введенных в форму, перед
отправкой их на сервер. Сценарии проверки не допускают ввода
неправильного значения и отправки пустого текстового поля.
Предположим, что веб-узел содержит форму, позволяющую
рассчитывать норму прибыли по инвестициям. Перед отправкой
сведений на сервер целесообразно проверить, соответствуют ли
введенные сведения требуемому типу (числовому или текстовому),
чтобы не отправлять на сервер потенциально неправильные сведения.
Лучше выполнять как можно больше проверок со стороны клиента.
Кроме более быстрого вывода сообщений об ошибках ввода, проверка на
стороне клиента способствует уменьшению времени ответа, уменьшает
загрузку сервера и снижает загрузку сети, ускоряя работу других
приложений.
Следующие клиентские сценарии проверяют сведения, введенные
пользователем (в этом случае сценарий определяет, является ли числом
номер учетной записи, введенный пользователем) перед отправкой
сведений на сервер:
<SCRIPT LANGUAGE="JScript">
function CheckNumber()
{
if (isNumeric(document.UserForm.AcctNo.value))
return true
else
{
alert("Введите правильный номер учетной записи.")
return false
}
}
//Функция определения, является ли значение формы числом.
//Примечание.
Метод JScript isNaN лучше подходит для определения, является
ли
//значение числом. Однако некоторые устаревшие обозреватели не поддерживают
этот метод.
function isNumeric(str)
{
for (var i=0; i < str.length; i++)
{
var ch = str.substring(i, i+1)
if( ch < "0" || ch>"9" || str.length == null)
{
return false
}
}
return true
}
</SCRIPT>
<FORM METHOD="Get" ACTION="balance.asp" NAME="UserForm" ONSUBMIT="return
CheckNumber()">
<INPUT TYPE="Text"
NAME="AcctNo">
<INPUT TYPE="Submit" VALUE="Submit">
</FORM>
Если проверка формы требует доступа к базе данных, следует
рассматривать проверку формы на стороне сервера. Самым удобным
способом выполнения проверки на стороне сервера является создание
формы, отправляющей сведения самой себе. То есть, файл .asp содержит
форму HTML, возвращающую сведения, введенные пользователем.
(Помните, что для взаимодействия со сценариями на стороне клиента и
страницами HTML можно использовать ASP. Дополнительные сведения
см. в разделе Взаимодействие с клиентскими сценариями). Введенные
сведения передаются тому же файлу, который выполняет их проверку и
оповещает пользователя, если во введенных сведениях допущена
ошибка.
Использование этого способа обработки и проверки сведений,
введенных пользователем, значительно увеличивает удобство
использования и гибкость обработки веб-форм. Например, помещая
ошибочные сведения, относящиеся к полю формы, куда были введены
ошибочные сведения, упрощается задача поиска пользователем
источника ошибки. (Обычно веб-формы пересылают запросы отдельной
веб-странице, содержащей ошибочные сведения. Пользователи, которые
не поймут эти сведения сразу, будут разочарованы).
Например, следующий сценарий определяет, ввел ли пользователь
допустимый номер учетной записи, передавая сведения самому себе
(Verify.asp) и вызывая пользовательскую функцию, выполняющую
запрос к базе данных:
<%
strAcct = Request.Form("Account")
If Not AccountValid(strAcct) Then
ErrMsg = "<FONT COLOR=Red>Введен неправильный номер учетной
записи.</FONT>"
Else
Обработка сведений, введенных пользователем
.
.
.
Server.Transfer("Complete.asp")
End If
Function AccountValid(strAcct)
Здесь должен быть сценарий подключения к базе данных или вызов метода
компонента.
End Function
%>
<FORM METHOD="Post" ACTION="Verify.asp">
Account Number: <INPUT TYPE="Text" NAME="Account"> <%= ErrMsg %> <BR>
<INPUT TYPE="Submit">
</FORM>
В этом примере сценарий находится в файле Verify.asp — в том же
файле, который содержит форму HTML; он отправляет сведения самому
себе, указывая в атрибуте ACTION файл Verify.asp.
Важно! Если для проверки на стороне сервера используется JScript,
при назначении семейства локальной переменной не забудьте поставить
пару пустых скобок после элемента семейства Request (QueryString
или Form). Без скобок семейство будет возвращать объект, а не строку.
Следующий сценарий иллюстрирует правильный способ назначения
переменных в JScript:
<%
var Name = Request.Form("Name")();
var Password = Request.Form("Password")();
if(Name > "")
{
if(Name == Password)
Response.Write("Имя и пароль совпадают.")
else
Response.Write("Имя и пароль не совпадают.");
}
%>
Программа VBScript выполняется одинаково, если семейство содержит
несколько значений, разделенных запятыми или индексируемых. Это
значит, что и в VBScript, и в JScript вдобавок к добавлению пары пустых
скобок к элементу семейства Request необходимо задать индекс
требуемого значения. Например, следующая строка JScript возвращает
лишь первое из нескольких значений элемента формы:
var Name = Request.Form("Name")();
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права
защищены.
Использование компонентов и
объектов
Компоненты COM являются основой построения настоящих вебприложений, обладающих мощными возможностями. Компоненты
реализуют функции, позволяющие решать с помощью сценариев
конкретные задачи, такие как выполнение финансовых транзакций или
проверка данных. Кроме того, в ASP имеется набор основных
компонентов, значительно улучшающих создаваемые сценарии.
Общие сведения о компонентах
Компонент COM представляет собой повторно используемый блок
инструкций. Компонент предназначен для построения программ и
обеспечивает решение некоторой задачи или набора задач. Чтобы
создать веб-приложение, компоненты объединяют друг с другом, в том
числе посредством сетей. Компоненты COM обеспечивают решение
общих задач, избавляя пользователей от необходимости самим создавать
соответствующие программы. Например, компонент для чтения
биржевых новостей можно использовать для отображения на вебстранице последних биржевых котировок. Самостоятельно же написать
аналогичный сценарий было бы непросто. Кроме того, в отличие от
компонента, такой сценарий вряд ли удалось бы использовать повторно.
Даже при отсутствии навыков создания сценариев пользователь может
писать сценарии с использованием компонентов, ничего не зная о том,
как эти компоненты работают. В комплект поставки ASP входят готовые
основные компоненты. Например, с помощью компонентов ADO
(объектов данных ActiveX) нетрудно добавить к имеющимся вебстраницам возможности подключения к базам данных. Кроме того,
дополнительные компоненты могут быть получены от независимых
разработчиков.
Для разработчиков веб-приложений компоненты являются лучшим
средством реализации бизнес-логики в виде защищенных повторно
используемых модулей. Например, с помощью компонента можно
обеспечить проверку номеров кредитных карточек посредством вызова
компонента в сценарии, обрабатывающем заказы на продажу. Поскольку
такая проверка выполняется отдельно от остальных процессов,
соответствующий компонент нетрудно обновить, если в процесс
проверки кредитных карточек будут внесены изменения, при этом
процесс обработки заказов останется без изменений. Кроме того,
компоненты COM можно повторно использовать в других сценариях и
приложениях. После установки компонента на веб-сервере, данный
компонент может быть вызван из сценария ASP на стороне сервера, из
расширения ISAPI, из другого компонента на сервере, а также из
программы, написанной на другом языке, совместимом со стандартом
COM.
Для создания компонентов могут использоваться любые языки
программирования, поддерживающие компонентную модель объектов
(COM), например C, C++, Java, Visual Basic и многочисленные языки
сценариев. (Те, кто занимался программированием компонентов COM,
знают эти компоненты под именем серверов программирования объектов
OLE.) В компонентах COM, предназначенных для работы на веб-сервере,
не должно быть элементов графического интерфейса пользователя,
например функции Visual Basic MsgBox, поскольку элементы
графического интерфейса будут отображаться только на сервере, но не в
обозревателе.
Создание экземпляра объекта некоторого
компонента
Компонент — это исполняемый код, содержащийся в библиотеке
динамической компоновки (.dll) или исполняемом файле (.exe).
Компоненты предоставляют один или несколько объектов, каждый из
которых является законченным набором инструкций, выполняющим в
рамках данного компонента определенные функции. Каждый объект
имеет методы (запрограммированные процедуры) и свойства (атрибуты
функционирования). Чтобы воспользоваться объектом, предоставленным
компонентом, следует создать один экземпляр нужного объекта и
назначить ему имя переменной. Для создания экземпляра объекта
примените метод ASP Server.CreateObject или тег HTML <OBJECT>. С
помощью инструкции присвоения переменной, используемой в данном
языке сценариев, присвойте экземпляру объекта некоторое имя. При
создании экземпляров объектов им следует назначать
зарегистрированные имена (PROGID). В случае использования основных
компонентов ASP, имена PROGID для объектов можно узнать на
страницах справочных сведений (см. раздел Устанавливаемые
компоненты для ASP).
Например, компонент Ad Rotator представляет графические объявления,
случайным образом извлекая их из некоторой последовательности
объявлений. Компонент Ad Rotator предоставляет один объект. Он
называется объектом Ad Rotator, его именем PROGID является
«MSWC.AdRotator». Чтобы создать один экземпляр объекта Ad Rotator,
воспользуйтесь одной из следующих инструкций:
Язык VBScript:
<% Set MyAds = Server.CreateObject("MSWC.AdRotator") %>
Язык Jscript:
<% var MyAds = Server.CreateObject("MSWC.AdRotator") %>
Тем, кто уже знаком с языками VBScript или JScript, следует обратить
внимание на то, что функции языков сценариев непосредственно для
создания нового экземпляра объекта не используются (функция
CreateObject языка VBScript или функция New языка JScript). Для этого
необходимо применить метод ASP Server.CreateObject, иначе контроль
ASP за использованием этого объекта в сценариях будет утрачен.
Для создания экземпляра объекта можно также использовать тег HTML
<OBJECT>. При этом необходимо указать атрибут RUNAT со значением
Server, а также атрибут ID, указав в качестве значения ID имя
переменной, которое будет использоваться в сценариях. Для
идентификации объекта может использоваться либо зарегистрированное
имя этого объекта (PROGID), либо его зарегистрированный номер
(CLSID). В следующем примере для создания экземпляра объекта Ad
Rotator применяется зарегистрированное имя (PROGID):
<OBJECT RUNAT=Server ID=MyAds PROGID="MSWC.AdRotator"></OBJECT>
В следующем примере экземпляр объекта Ad Rotator создается с
помощью зарегистрированного номера (CLSID):
<OBJECT RUNAT=SERVER ID=MyAds
CLASSID="Clsid:1621F7C0-60AC-11CF-9427-444553540000"></OBJECT>
Создание объектов COM с помощью
сценариев
ASP поддерживает технологию Windows Script Components корпорации
Майкрософт — мощный инструмент создания компонентов COM. В
частности, нетрудно инкапсулировать сценарии общего назначения. Так,
сценарии для доступа к базам данных или сценарии для создания
содержимого можно включить в повторно используемые компоненты,
которые будут доступны из любого файла .asp или программы.
Компоненты Windows Script Components создают в виде сценариев,
например, на языке VBScript или Jscript без использования каких-то
особых средств разработки. Кроме того, компоненты Windows Script
Components нетрудно включить в программы, написанные на любом
совместимом с COM языке программирования, например Visual Basic,
C++ или Java.
В следующем примере представлен компонент Windows Script
Components, написанный на языке VBScript, в котором определены
методы преобразования измерений температуры по Фаренгейту в
температуру по Цельсию и наоборот:
<SCRIPTLET>
<Registration
Description="ConvertTemp"
ProgID="ConvertTemp.Scriptlet"
Version="1.00"
>
</Registration>
<implements id=Automation type=Automation>
<method name=Celsius>
<PARAMETER name=F/>
</method>
<method name=Fahrenheit>
<PARAMETER name=C/>
</method>
</implements>
<SCRIPT LANGUAGE=VBScript>
Function Celsius(F)
Celsius = 5/9 * (F - 32)
End Function
Function Fahrenheit(C)
Fahrenheit = (9/5 * C) + 32
End Function
</SCRIPT>
</SCRIPTLET>
Перед реализацией этого компонента Windows Script Component
необходимо сохранить данный файл с расширением .sct, а затем в окне
проводника Windows щелкнуть этот файл правой кнопкой мыши и
выбрать в контекстном меню команду Зарегистрировать. Чтобы
использовать этот компонент Windows Script Component на веб-странице,
следует написать следующий сценарий для сервера:
<%
Option Explicit
Dim objConvert
Dim sngFvalue, sngCvalue
sngFvalue = 50
sngCvalue = 21
Set objConvert = Server.CreateObject("ConvertTemp.Scriptlet")
%>
<%= sngFvalue %> degrees Fahrenheit is equivalent to <%=
objConvert.Celsius(sngFvalue) %> degrees Celsius<BR>
<%= sngCvalue %> degrees Celsius is equivalent to <%=
objConvert.Fahrenheit(sngCValue) %> degrees Fahrenheit<BR>
Использование встроенных объектов ASP
В ASP предусмотрены также встроенные объекты для решения
различных полезных задач, упрощающих разработку веб-приложений.
Например, объект Request позволяет получить доступ к данным,
относящимся к некоторому HTTP-запросу. С помощью этого объекта
можно, в частности, извлечь сведения, введенные пользователем в
HTML-формы или модули настройки узла. В отличие от объектов COM,
для использования встроенных объектов ASP в сценариях не нужно
создавать экземпляры этих объектов. Указанные объекты автоматически
создаются в момент начала обработки запроса ASP. Доступ к методам и
свойствам встроенных объектов осуществляется так же, как и при
использовании объектов, порожденных компонентами —
соответствующее описание приведено выше в этом разделе. Полное
описание встроенных объектов см. в разделе Краткий справочник по
объектам ASP.
Вызов метода объекта
Методом называется действие, которое может быть выполнено над
объектом или с помощью объекта. Синтаксис вызова метода:
Объект.Метод параметры
Параметры изменяются в зависимости от метода.
Например, метод Write встроенного объекта Response позволяет
отправить данные в обозреватель, как показано в следующей
инструкции:
<% Response.Write "Hello World" %>
Примечание. Некоторые языки сценариев не поддерживают синтаксис
Объект.Метод. Если используемый язык сценариев относится к таким
языкам, необходимо добавить в реестр запись, чтобы этим языком можно
было пользоваться как основным языком сценариев. Дополнительные
сведения см. в разделе Работа с языками сценариев.
Задание свойства объекта
Свойство является атрибутом, описывающим объект. Свойства
определяют характеристики объекта, например его тип, или описывают
состояние объекта, например включен объект или отключен. Синтаксис:
Объект.Свойство
Иногда значение свойства можно прочитать или задать. Кроме того,
некоторые объекты допускают добавление новых свойств.
Например, у компонента Ad Rotator есть свойство Border, которое
указывает, окружено ли объявление границей, и задает толщину этой
границы. Следующее выражение определяет, что граница отсутствует:
<% MyAds.Border = 0 %>
Для некоторых свойств имеется возможность отобразить текущее
значение с помощью директивы вывода ASP. Например, следующая
инструкция возвращает значение TRUE, если обозреватель все еще
подключен к серверу:
<%= Response.IsClientConnected %>
Создание объекта на основе класса Java
Экземпляр класса Java можно создать посредством метода
Server.CreateObject. Для этого необходимо зарегистрировать этот
класс в качестве компонента COM с помощью программы JavaReg. Затем
следует применить метод Server.CreateObject или воспользоваться
тегом HTML <OBJECT> с атрибутом PROGID или CLSID.
Другой способ предусматривает использование механизма специальных
имен Java, когда экземпляр класса Java создается непосредственно, без
обращения к программе JavaReg. Чтобы создать экземпляр класса с
помощью специальных имен, воспользуйтесь имеющейся в языках
VBScript и JScript инструкцией GetObject и укажите полное имя класса
Java в формате java:ИмяКласса. Следующий пример программы на языке
VBScript иллюстрирует создание экземпляра класса Java Date.
<%
Dim dtmDate
Set dtmDate = GetObject("java:java.util.Date")
%>
Датой является <%= dtmDate.toString() %>
Объекты, созданные путем вызова метода CreateObject вместо
Server.CreateObject, также могут обращаться к встроенным объектам
ASP и участвовать в транзакциях. Однако для применения специальных
имен Java требуется виртуальная машина Microsoft версии 2.0 или более
поздней.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права
защищены.
Задание области определения
объектов
Область определения объекта определяет сценарии, которые могут
использовать объект. По умолчанию созданный экземпляр объекта имеет
в качестве области определения страницу. Любая команда сценария на
той же странице ASP может использовать такой объект; объект
освобождается при завершении обработки запроса файлом .asp. Для
большинства объектов рекомендуется задавать страницу в качестве
области определения. Можно изменить область определения объекта,
чтобы сделать его доступным сценариям на других страницах. Этот
раздел объясняет, как работать с объектами со страницей в качестве
области определения и как изменить область определения объектов.
Использование объектов со страничной
областью определения
Объект, созданный с помощью Server.CreateObject или тега HTML
<OBJECT> на странице ASP, существует, пока существует страница.
Объект доступен для любой команды сценария на этой странице и
освобождается при завершении обработки страницы. Этот объект имеет
область определения или время жизни страницы.
Создание объектов в циклах
Обычно следует избегать создания объектов внутри цикла. Если
необходимо создавать объекты в цикле, следует вручную освобождать
ресурсы, используемые объектом:
<%
Dim objAd
For i = 0 To 1000
Set objAd = Server.CreateObject("MSWC.AdRotator")
.
.
.
objAd.GetAdvertisement
.
.
.
Set objAd = Nothing
Next
%>
Присвоение объекту области определения
сеанса
Объект с областью определения сеанса создается для каждого нового
сеанса в приложении и освобождается при завершении сеанса; для
каждого активного сеанса существует один объект. Сеанс в качестве
области определения используется для объектов, которые используются
в нескольких сценариях, но влияют на сеанс одного пользователя.
Объекты должны получать сеанс в качестве области определения,
только если это необходимо. Если в качестве области определения
используется сеанс, необходимо знать потоковую модель,
обеспечиваемую объектом, поскольку потоковая модель влияет на
производительность и контекст безопасности объекта. Дополнительные
сведения см. в подразделе Дополнительные сведения: вопросы
быстродействия в данном разделе.
Чтобы назначить объекту сеанс в качестве области определения,
сохраните объект во встроенном объекте ASP Session . Можно
использовать или тег HTML <OBJECT> в файле Global.asa, или метод
Server.CreateObject на странице ASP для создания экземпляра объекта,
имеющего сеанс в качестве области определения.
В файле Global.asa можно использовать тег <OBJECT>, расширенный
атрибутом RUNAT (который должен иметь значение SERVER) и атрибутом
SCOPE (его значение должно быть равно Session). Приведенный ниже
пример создает экземпляр объекта Browser Type компонента Browser
Capabilities, имеющий областью определения сеанс:
<OBJECT RUNAT=SERVER SCOPE=Session ID=MyBrowser PROGID="MSWC.BrowserType">
</OBJECT>
Сохранив объект в объекте Session, можно получить доступ к объекту с
любой страницы приложения. Приведенный ниже оператор использует
экземпляр объекта, созданный с помощью тега <OBJECT> в предыдущем
примере:
<%= If MyBrowser.browser = "IE"
and
MyBrowser.majorver >= 4
Then . . .%>
Для хранения объекта во встроенном объекте Session на странице ASP
можно также использовать метод Server.CreateObject. Приведенный
ниже пример сохраняет экземпляр объекта Browser Type в объекте
Session.
<% Set Session("MyBrowser") = Server.CreateObject("MSWC.BrowserType") %>
Чтобы отобразить сведения об обозревателе в другом файле .asp,
сначала извлеките экземпляр объекта BrowserType, хранимый в
объекте Session, а затем вызовите метод Browser для отображения
имени обозревателя.
<% Set MyBrowser = Session("MyBrowser") %>
<%= MyBrowser.browser %>
ASP не создает экземпляр объекта, который объявляется тегом
<OBJECT>, пока на объект не ссылается команда сценария из файла
.asp. Метод Server.CreateObject сразу создает объект. Таким образом,
тег <OBJECT> предлагает для объектов с областью определения сеанса
лучшую масштабируемость, чем метод Server.CreateObject.
Присвоение объекту приложения в
качестве области определения
Объект с областью определения приложения является экземпляром
объекта, который создается при запуске приложения. Этот объект
используется совместно всеми клиентскими запросами. Некоторые
вспомогательные объекты, например объекты компонента Page Counter,
могут обеспечить лучшее быстродействие при назначении им
приложения в качестве области определения, но обычно следует
использовать альтернативы, представленные в следующем разделе.
Кроме того, потоковая модель оказывает влияние на быстродействие и
контекст безопасности объекта (см. Дополнительные сведения: вопросы
быстродействия в данном разделе.
Чтобы назначить объекту приложение в качестве области определения,
сохраните объект во встроенном объекте ASP Application. Можно
использовать или тег HTML <OBJECT> в файле Global.asa, или метод
Server.CreateObject в файле .asp для создания экземпляра объекта в
области определения приложения.
В файле Global.asa file можно использовать тег <OBJECT>, расширенный
атрибутом RUNAT (который должен иметь значение SERVER) и атрибутом
SCOPE (его значение должно быть равно Application). Ниже приведен
пример использования тега <OBJECT> для создания экземпляра объекта
Ad Rotator с приложением в качестве области определения:
<OBJECT RUNAT=SERVER SCOPE=Application ID=MyAds PROGID="MSWC.AdRotator">
</OBJECT>
После сохранения объекта Ad Rotator в состоянии приложения можно
получить доступ к нему с любой страницы приложения с помощью
следующего оператора:
<%=MyAds.GetAdvertisement("CustomerAds.txt") %>
С другой стороны, можно использовать метод Server.CreateObject для
хранения экземпляра объекта во встроенном объекте Application, как
это показано в следующем примере:
<% Set Application("MyAds") = Server.CreateObject("MSWC.Adrotator")%>
Можно отобразить рекламу в файле .asp приложения, извлекая
экземпляр объекта Ad Rotator из состояния приложения, как показано
ниже:
<%Set MyAds = Application("MyAds") %>
<%=MyAds.GetAdvertisement("CustomerAds.txt") %>
Альтернативы использованию сеанса и
приложения в качестве области
определения
Обычно следует пытаться использовать состояние приложения или
сеанса для элементов и объектов, которые требуют длительной
инициализации, например записи в словаре или наборы записей. Однако
если выяснится, что объекты в состоянии сеанса или приложения
требуют слишком много ресурсов, например памяти или подключений к
базе данных, следует искать другие пути реализации таких объектов.
Например, потоковая модель компонента может влиять на
быстродействие объектов, созданных из него, особенно объектов,
имеющих в качестве области определения сеанс или приложение.
В большинстве случаев лучше оказывается не создавать объект с
сеансом или приложением в качестве области определения, а
использовать переменные с аналогичной областью определения,
которые передают информацию объекты, созданному на уровне
страницы. Например, не следует назначать объекту ADO Connection
сеанс или приложение в качестве области определения, поскольку
подключение, создаваемое им, остается открытым длительный
промежуток времени и сценарий не может воспользоваться
преимуществом группирования подключений. Однако можно хранить
строки подключения ODBC или OLE DB во встроенных объектах Session
или Application и получать доступ к строке для установки свойства
экземпляра объекта Connection, создаваемого на странице. В этом
случае часто используемая информация хранится в состоянии сеанса или
приложения, но объект, использующий эти сведения, создается только в
случае необходимости. Дополнительные сведения о задании области
определения переменных см. в разделе Использование переменных и
констант.
Объекты JScript, определенные
пользователем
Можно создать объект JScript, определив функцию конструктора,
которая создает и инициализирует свойства и методы нового объекта.
Экземпляр объекта создается при использовании сценарием оператора
new для вызова конструктора. Определенные пользователем объекты
JScript поддерживаются сценариями ASP на стороне сервера и работают
при задании им страницы в качестве области определения. Однако
определенный пользователем объект не может иметь в качестве области
определения приложение. Также назначение определенному
пользователем объекту сеанса в качестве области определения может
повлиять на функциональность объекта. В частности, если областью
определения объекта является сеанс, сценарии на других страницах
получат доступ к свойствам объекта, но не смогут вызвать его методы.
Также назначение определенному пользователем объекту JScript сеанса
в качестве области определения может повлиять на быстродействие вебприложения.
Дополнительные сведения: вопросы
быстродействия
Потоковая модель компонента может оказать влияние на быстродействие
веб-узла. Обычно объекты, помеченные как имеющие двойную (Both)
модель, рекомендуется использовать в файлах .asp, если они хранятся в
состоянии Session или Application. Не рекомендуется использование
объектов, выполняемых в одном потоке, объектов с замкнутой моделью и
многопотоковых объектов.
Поскольку не всегда есть возможность управлять потоковой моделью
используемых объектов, следующие правила помогут достичь
наилучшего быстродействия:



Объекты с областью определения страницы. Объекты с
двойной (Both) или замкнутой (Apartment) моделью обеспечат
наилучшее быстродействие.
Объекты с областью определения приложения. Объекты с
двойной (Both) , включающей сортировщик свободных потоков,
моделью обеспечат наилучшее быстродействие. Можно
использовать или тег <OBJECT>, или метод Server.CreateObject
для хранения объектов с двойной моделью в объекте Application.
Необходимо использовать тег HTML <OBJECT> для объектов с
замкнутой моделью.
Объекты с областью определения сеанса. Объекты с двойной
(Both) моделью обеспечат наилучшее быстродействие.
Использование объектов, выполняемых в одном потоке, или
объектов, выполняемых в замкнутом потоке, приведет к
заключению веб-сервером сеанса в один поток. Многопотоковые
объекты не блокируют сеанс, но они работают медленно. Можно
использовать или тег <OBJECT>, или метод Server.CreateObject
для хранения объектов с двойной моделью в объекте Session.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права
защищены.
Отправка содержимого в вебобозреватель
По ходу обработки сценария на странице ASP текст и рисунки, не
обрамленные ограничителями ASP или тегами <SCRIPT>, просто
возвращаются в обозреватель. Кроме того, содержимое можно явным
образом отправить в обозреватель с помощью объекта Response.
Отправка содержимого
Для отправки в обозреватель содержимого, обозначенного
ограничителями ASP, или из процедуры, используется метод Write
объекта Response. Например, в следующей инструкции показано, как
отправлять пользователям разные приветствия в зависимости от того,
посещали ли они данную страницу раньше:
<%
If blnFirstTime Then
Response.Write "<H3 ALIGN=CENTER>Welcome to the Overview Page.</H3>"
Else
Response.Write "<H3 ALIGN=CENTER>Welcome Back to the Overview Page.</H3>"
End If
%>
Для отправки содержимого обратно пользователю вне текста процедуры
нет необходимости пользоваться методом Response.Write. Если
содержимое не заключено между ограничителями сценария, оно
непосредственно отправляется в обозреватель, который
соответствующим образом форматирует и отображает это содержимое.
Так, результат выполнения следующего сценария будет тем же, что и в
предыдущем примере:
<H3 ALIGN=CENTER>
<% If blnFirstTime Then %>
Welcome to the Overview Page.
<% Else %>
Welcome Back to the Overview Page.
<% End If %>
</H3>
Если результат возвращается только один раз или автору удобнее
добавить инструкции к существующему HTML-тексту, воспользуйтесь
чередованием команд сценария и HTML. Метод Response.Write
используют в том случае, если нежелательно разрывать инструкцию на
части с помощью разделителей или необходимо собрать строку, которая
должна быть отправлена в обозреватель. Например, нетрудно
сконструировать строку текста, которая заполняла бы строку таблицы
значениями, присланными в форме HTML:
Response.Write "<TR><TD>" & Request.Form("FirstName") _
& "</TD><TD>" & Request.Form("LastName") & "</TD></TR>"
Request.Form возвращает значения, отправленные из HTML-формы (см.
раздел Обработка сведений, введенных пользователем).
Примечание. В языке VBScript знак амперсанда (&) означает
объединение строк. Символ подчеркивания (_) в языке VBScript означает
продолжение строки.
Задание типа содержимого
Когда веб-сервер возвращает файл в обозреватель, передаются также
данные о типе содержимого этого файла. Эти данные позволяют
обозревателю определить, может ли он отобразить полученный файл
непосредственно или для этого следует вызвать другое приложение.
Например, если веб-сервер возвращает таблицу Microsoft Excel, то для
отображения соответствующей страницы обозреватель должен обладать
возможностью запуска копии приложения Microsoft Excel. Веб-сервер
распознает типы файлов посредством сопоставления расширения имени
файла со списком типов MIME (Multipurpose Internet Mail Extensions).
Например, для запуска Microsoft Excel обозреватель должен распознать
тип MIME «application/vnd.ms-excel».
Чтобы задать для отправляемого пользователю содержимого тип этого
содержимого в HTTP-строке, можно использовать свойство ContentType
объекта Response. Например, следующая команда задает тип
содержимого для определений каналов:
<% Response.ContentType = "application/x-cdf" %>
Дополнительные сведения о каналах см. в части Создание динамических
каналов в этом разделе.
Другими общими типами содержимого являются «text/plain» (для
содержимого, которое возвращается как текст, а не как
интерпретируемые инструкции HTML), «image/gif» (для изображений
формата GIF), «image/jpeg» (для изображений формата JPEG),
«video/quicktime» (для фильмов формата Apple QuickTime®), а также
«text/xml» (для документов формата XML). Кроме того, веб-сервер или
веб-обозреватель могут поддерживать специальные типы MIME. Чтобы
узнать, какие типы содержимого уже определены данным веб-сервером
корпорации Майкрософт, воспользуйтесь объектом Internet Information
Services для консоли MMC, откройте окно свойств данного веб-узла,
щелкните вкладку Заголовки HTTP, а затем — вкладку Типы файлов.
Эти типы файлов могут использоваться для справки в тех случаях, когда
тип содержимого задается вручную с помощью ASP.
Перенаправление запросов обозревателя
Вместо отправки содержимого пользователю, имеется возможность
перенаправить запрос обозревателя на другой адрес URL с помощью
метода Redirect. Например, если необходимо обеспечить, чтобы
пользователи обращались к данному приложению с домашней страницы,
получив код клиента, можно проверять наличие у них этих кодов. При
отсутствии такого кода пользователя можно перенаправить на
домашнюю страницу.
<%
If Session("CustomerID") = "" Then
Response.Redirect "Register.asp"
End If
%>
Сценарии на стороне сервера называются буферизованными, если эти
сценарии обрабатываются раньше, чем какое-либо содержимое
отправляется пользователю. ASP позволяет включить или отключить
буферизацию, причем эта настройка может значительно изменить работу
метода Redirect. В частности, если буферизация отключена, запрос
обозревателя необходимо перенаправить до того, как HTTP-заголовки
данной страницы будут возвращены этому обозревателю.
Чтобы избежать возврата каких-либо данных в обозреватель, поместите
инструкцию Response.Redirect в верхней части страницы перед текстом
и тегами <HTML>. В случае вызова метода Response.Redirect после
возврата содержимого или заголовков в обозреватель последует
сообщение об ошибке. Кроме того, следует иметь в виду, что инструкция
Response.Redirect не требует последующей инструкции Response.End.
Если инструкцию Response.Redirect нужно использовать в середине
страницы, используйте эту инструкцию вместе со свойством
Response.Buffer, как показано в части Буферизация содержимого
данного раздела.
Передача данных между файлами .ASP
Для перенаправления запроса обозревателя с помощью метода
Response.Redirect требуется двойной обмен, означающий, что сервер
отправляет обозревателю HTTP-ответ с указанием расположения нового
адреса URL. Обозреватель автоматически выходит из очереди запросов
данного сервера и отправляет новый HTTP-запрос по указанному адресу
URL. Затем сервер добавляет этот запрос в очередь запросов вместе с
запросами других клиентов, поступившими за это время. Для веб-узлов с
большой нагрузкой двойной обмен может сузить полосу пропускания и
снизить производительность сервера, особенно в случае
перенаправления обозревателя к файлу, расположенному на том же
самом сервере.
Для передачи данных из одного файла .asp в другой файл на том же
сервере можно использовать метод Server.Transfer вместо метода
Response.Redirect. Метод Server.Transfer обеспечивает
непосредственную передачу запросов к файлам .asp без выхода из
очереди запросов сервера и позволяет избежать затрат на двойной
обмен.
Например, в следующем сценарии метод Server.Transfer используется
для перехода между страницами приложения в зависимости от сведений
о состоянии:
<%
If Session("blnSaleCompleted") Then
Server.Transfer("/Order/ThankYou.asp")
Else
Server.Transfer("/Order/MoreInfo.asp")
End if
%>
Метод Server.Transfer отправляет запросы из одного исполняемого
файла .asp в другой. Во время передачи первоначально запрошенный
файл .asp сразу же прекращает выполнение, но не очищает выходной
буфер (дополнительные сведения см. в разделе Буферизация
содержимого). Когда затем начинает выполняться конечный файл, он
получает доступ к сведениям о запросе. Во время выполнения этот файл
имеет доступ к тому же набору внутренних объектов (Request,
Response, Server, Session и Application), что и первоначально
запрошенный файл.
Кроме того, использование метода Server.Transfer допускается для
передачи между файлами .asp, расположенными в различных
приложениях. Тем не менее, при передаче в файл .asp, расположенный в
другом приложении, этот файл будет вести себя так, как если бы он был
часть приложения, которое начало передачу. Это означает, что
указанный файл будет иметь доступ только к тем переменным, область
определения которых задана для исходного приложения, а не того
приложения, в котором этот файл фактически находится. Например, при
передаче из файла, расположенного в приложении Sales, в файл,
расположенный в приложении Personnel, приложение Sales фактически
заимствует этот файл у приложения Personnel и исполняет его как часть
приложения Sales.
ASP также предоставляет команду Server.Execute, с помощью которой
можно осуществить передачу в файл, выполнить его содержимое, а
затем вернуться в файл, который начал передачу. При наличии навыков
программирования на языке VBScript удобно рассматривать
Server.Execute как аналог вызова процедуры, за исключением того, что
вместо выполнения процедуры выполняется файл .asp целиком.
Например, следующий сценарий демонстрирует возможности
использования команды Server.Execute для выполнения динамического
включения файлов .asp:
<%
.
.
.
If blnUseDHTML Then
Server.Execute("DHTML.asp")
Else
Server.Execute("HTML.asp")
End If
.
.
.
%>
При условии, что конечный файл принадлежит приложению на том же
сервере, исходное приложение будет передавать в этот файл, выполнит
его содержимое, а затем возобновит выполнение файла, начавшего эту
передачу. Как и в случае метода Server.Transfer, выполняемый файл
.asp действует так, как будто является частью исходного приложения.
Однако метод Server.Execute не поддерживает передачу между
серверами. Дополнительные сведения см. в разделе Server.Execute.
Буферизация содержимого
По умолчанию веб-сервер обрабатывает все команды сценариев на
странице до того, как пользователю будет отправлено какое-либо
содержимое. Этот процесс называется буферизацией. С помощью
свойства Buffer объекта Response буферизацию можно отключить. В
этом случае веб-сервер возвращает коды HTML и результаты сценариев
по мере обработки страницы.
Буферизация файлов .asp имеет то преимущество, что пользователь
получает возможность прервать отправку веб-страницы. Это может
понадобиться, например, если сценарий работает неправильно или
пользователь не располагает соответствующими учетными записями для
безопасного доступа. Вместо буферизации можно отправить
пользователя на другую страницу с помощью метода Server.Transfer
или очистить буфер (с помощью метода Clear объекта Response), чтобы
отправить пользователю другое содержимое. В зависимости от
приложения, метод Clear может быть применен до передачи. В
следующем примере используются оба этих метода:
<HTML>
<BODY>
.
.
.
<%
If Request("CustomerStatus") = "" Then
Response.Clear
Server.Transfer("/CustomerInfo/Register.asp")
Else
Response.Write "Welcome back " & Request("FirstName") & "!"
.
.
.
End If
%>
</BODY>
</HTML>
Кроме того, свойство Response.Buffer позволяет предотвратить возврат
заголовка HTTP сервером до того, как сценарий сможет изменить этот
заголовок. Некоторые свойства и методы, такие как Response.Expires и
Response.Redirect, изменяют заголовок HTTP.
Если свойству Buffer в сценарии присвоено значение TRUE, а метод
Flush не вызывался для немедленной отправки буферизованного
содержимого в обозреватель, то сервер будет обслуживать запросы
клиентов на открытые соединения. Преимущество этого стиля написания
сценариев заключается в повышении производительности сервера за
счет того, что не нужно создавать новое соединение для каждого
запроса клиента (предполагается, что сервер, клиент и прокси-серверы
поддерживают запросы на открытые соединения). Однако у такого
подхода есть один возможный недостаток: буферизация не позволяет
серверу ответить пользователю до тех пор, пока сервер не закончит
обработку всего сценария. При работе с большими или сложными
сценариями пользователям, возможно, придется долго ждать появления
веб-страницы.
По умолчанию для приложений ASP буферизация включена. Имеется
возможность с помощью объекта Internet Information Services консоли
MMC отключить буферизацию для всего приложения ASP.
Дополнительные сведения см. в разделе Настройка приложений ASP.
Кэширование страниц на прокси-серверах
Приложение может отправлять страницы клиенту через прокси-сервер.
Прокси-сервер выступает от имени обозревателей клиентов, запрашивая
для них страницы на веб-узлах. Прокси-сервер кэширует HTMLстраницы, чтобы при повторении запросов к одной и той же странице
быстро и эффективно возвращать искомые данные в обозреватели.
Использование прокси-серверов для обработки запросов и кэширования
страниц позволяет уменьшить загрузку сети и веб-сервера.
Хотя кэширование хорошо работает со многими HTML-страницами,
однако при обработке страниц ASP, содержащих часто обновляемые
сведения, не редки сбои. Например, страницы, отображающие цены
биржевого рынка или запасы комплектующих изделий при массовом
производстве, должны показывать последние сведения. Задержка даже
на один час может сделать данные недостоверными. Если приложение
возвращает личные данные, например специальную домашнюю
страницу, может потребоваться скрытие личных сведений каждого
пользователя от остальных пользователей.
По умолчанию ASP дает команду прокси-серверам не кэшировать саму
страницу ASP (хотя изображения, гиперкарты, минипрограммы и другие
элементы, на которые есть ссылки на данной странице, продолжают
кэшироваться). Имеется возможность разрешить кэширование
определенных страниц с помощью свойства Response.CacheControl,
которое в заголовке HTTP задает значение поля управления
кэшированием. Значением Response.CacheControl по умолчанию
является строка «Private», которая запрещает кэширование данной
страницы прокси-серверами. Чтобы разрешить кэширование, задайте
для поля управления кэшированием в заголовке значение «Public»:
<% Response.CacheControl = "Public" %>
Поскольку заголовки HTTP должны быть отправлены в обозреватель или
прокси-сервер раньше, чем какое-либо содержимое страницы,
необходимо либо поместить свойство Response.CacheControl перед
всеми тегами HTML, либо включить буферизацию данной страницы с
помощью свойства Response.Buffer, если буферизация отключена.
Поле заголовка для управления кэшированием является частью
спецификации HTTP 1.1. Страницы ASP не кэшируются на проксисерверах, поддерживающих только спецификацию HTTP 1.0, поскольку
поле окончания срока действия в заголовке не отправляется.
Запрет кэширования страниц
обозревателями
В каждой версии обозревателя действуют свои правила, определяющие
кэширование страниц. Чтобы запретить кэширование страниц ASP в
обозревателях, задайте заголовок окончания срока действия с помощью
свойства Response.Expires:
<% Response.Expires = 0 %>
Значение 0 задает немедленное окончание срока действия
кэшированных страниц. Поскольку заголовки HTTP должны быть
отправлены в обозреватель или прокси-сервер раньше, чем какое-либо
содержимое страницы, необходимо либо поместить свойство
Response.Expires перед всеми тегами HTML, либо использовать
буферизацию данной страницы.
Создание динамических каналов
Канал — это веб-технология, доступная в обозревателе Microsoft Internet
Explorer версии 4.0 или более поздней, которую можно использовать для
автоматической доставки нового или обновленного содержимого вебстраниц пользователям. Канал заставляет компьютер пользователя
периодически подключаться к серверу и извлекать обновленные
сведения. (Этот процесс сбора данных обычно называют клиентским
опросом, так как сведения «опрашиваются», или собираются, на
сервере.) Когда новые сведения становятся доступными на отдельном
веб-узле, соответствующее содержимое загружается в кэш обозревателя
для просмотра в автономном режиме. Умелое использование каналов для
распространения сведений посредством веб-страниц (особенно в
интрасетях) может способствовать централизации данных и уменьшению
нагрузки на сервер. Дополнительные сведения о каналах см. на веб-узле
Microsoft Internet Explorer.
С помощью ASP нетрудно написать сценарии, позволяющие динамически
создавать каналы посредством формирования файла определения
каналов. Файл определения каналов создается в формате XML (.cdf) и
описывает организацию и расписание обновления содержимого канала.
Синтаксис команд в файле .cdf аналогичен тегам HTML, поэтому эти
команды нетрудно изучить и использовать в сценариях. При написании
сценария на стороне сервера, предназначенного для создания файла
определения каналов, присвойте соответствующему файлу расширение
.cdx. Когда ASP читает файл с расширением .cdx, автоматически
отправляется тип содержимого «application/x-cdf», который говорит
обозревателю о том, что байты содержимого следует воспринимать как
определения каналов. Если расширение .cdx не используется, в
сценарии должен быть вручную задан тип содержимого «application/xcdf». Для этого используют свойство Response.ContentType.
Ниже представлен пример возможного использования каналов.
Следующая форма HTML предлагает пользователю выбрать каналы. При
оправке форма автоматически вызывает сценарий, хранящийся в файле
.cdx, чтобы создать определения каналов.
<P> Choose the channels you want. </P>
<FORM METHOD="POST" ACTION="Chan.cdx">
<P><INPUT TYPE=CHECKBOX NAME=Movies> Movies
<P><INPUT TYPE=CHECKBOX NAME=Sports> Sports
<P><INPUT TYPE="SUBMIT" VALUE="SUBMIT">
</FORM>
Сценарий в файле Chan.cdx создает определения каналов на основе
значений из формы, отправленных с помощью запроса.
<% If Request.Form("Movies") <> "" Then %>
<CHANNEL>
channel definition statements for the movie pages
</CHANNEL>
<% End If %>
<% If Request.Form("Sports") <> "" Then %>
<CHANNEL>
channel definition statements for the sports pages
</CHANNEL>
<% End If %>
Доступ к ресурсам сервера с помощью
WebDAV
Протокол WebDAV (Distributed Authoring and Versioning) представляет
собой расширение стандарта HTTP 1.1. При HTTP-подключении этот
протокол позволяет представить содержимое веб-страниц в виде
иерархической структуры носителя файлов, аналогично локальной
файловой системе. WebDAV является многообещающей технологией с
точки зрения превращения веб-пространства в непрерывную общую
среду разработки. Используя реализацию WebDAV в IIS 5.1, можно
предоставить удаленным разработчикам возможность создавать,
удалять, перемещать, искать и устанавливать атрибуты файлов и
каталогов на данном веб-сервере. Дополнительные сведения см. в
разделе Публикация WebDAV.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права
защищены.
Включение файлов
Включение на стороне сервера. Директивы включения дают возможность
включения в файл содержимого другого файла перед обработкой его
веб-сервером. В ASP этот механизм поддерживается только директивой
#include. Для вставки файла в файл .asp используется следующий
синтаксис:
<!-- #include virtual | file ="имя_файла" -->
Ключевые слова virtual и file обозначают тип пути, используемый для
включения файла, а имя_файла представляет собой путь и имя файла,
который требуется включить.
Включаемые файлы могут иметь любое расширение, но удобно давать им
расширение, отличающее их от других файлов.
Использование ключевого слова Virtual
Ключевое слово virtual указывает, что путь начинается с виртуального
каталога. Например, если файл Footer.inc расположен в виртуальном
каталоге /Myapp, следующая строка вставит содержимое файла
Footer.inc в файл, содержащий эту строку:
<!-- #include virtual ="/myapp/footer.inc" -->
Использование ключевого слова File
Ключевое слово file указывает, что используется относительный путь.
Относительный путь начинается с каталога, содержащего файл, в
который включается другой файл. Например, если данный файл
находится в каталоге Myapp, а файл Header1.inc — в каталоге
Myapp\Headers, следующая строка вставит файл Header1.inc в данный
файл:
<!-- #include file ="headers\header1.inc" -->
Имейте в виду, что путь к включаемому файлу, Headers\header1.inc,
является относительным к данному файлу; если сценарий, содержащий
эту инструкцию #include, находится не в каталоге /Myapp, эта
инструкция не будет работать.
В ключевом слове file также можно использовать ссылки (..\) на файлы
в родительском каталоге (или каталоге верхнего уровня), если в
оснастке IIS установлен флажок Включить пути к родительским
каталогам. Дополнительные сведения см. в разделе Настройка
приложений ASP.
Расположение включаемых файлов
ASP обнаруживает изменения во включаемом файле независимо от его
расположения и включает содержимое файлов при следующем запросе
обозревателем файла .asp, включающего этот файл. Однако в общем
случае проще включать файлы с обеспечением защиты, если они
находятся на одном веб-узле в пределах одного приложения. Для
обеспечения лучшей защиты рекомендуется располагать включаемые
файлы в отдельном каталоге в пределах приложения, например, в
каталоге \Includes, и применять к нему только соответствующие
разрешения на выполнение (на веб-сервере). Дополнительные сведения
см. в разделе Установка разрешений для веб-сервера.
Важно! По умолчанию ко всем файлам на веб-сервере применяются
разрешения на чтение. Для того, чтобы предотвратить просмотр
содержимого включаемых файлов пользователями, запретите чтение
файлов из каталога Include.
Включение файлов: советы и
предупреждения
Включаемые файлы могут, в свою очередь, включать другие файлы.
Файлы .asp также могут включать один файл несколько раз, при условии
что директивы #include не вызовут зацикливание. Например, если файл
First.asp включает файл Second.inc, файл Second.inc не должен включать
файл First.asp. В противном случае файл будет включен сам в себя. В
ASP предусмотрено обнаружение таких зацикливаний и ошибок
вложения, в таких случаях выдается сообщение об ошибке, а обработка
запрошенного файла .asp прекращается.
ASP включает файлы до выполнения команд сценариев. Таким образом,
команду сценария нельзя использовать для построения имени
включаемого файла. Например, следующий сценарий не сможет открыть
файл Header1.inc, так как в ASP попытка выполнить директиву #include
будет предпринята раньше, чем имя файла будет назначено переменной
name.
<!-- Этот сценарий не будет выполнен -->
<% name=(header1 & ".inc") %>
<!-- #include file="<%= name %>" -->
Команды и процедуры сценариев полностью должны быть заключены в
ограничители сценариев <% и %>, теги HTML <SCRIPT> и </SCRIPT>
или теги HTML <OBJECT> и </OBJECT>. То есть, нельзя открыть
ограничитель сценариев во включающем файле .asp и закрыть его во
включаемом файле; сценарий или команда сценария должны
присутствовать в виде отдельных законченных модулей. Например,
следующий сценарий не будет работать:
<!-- Этот сценарий не будет выполнен -->
<%
For i = 1 To lngTotal
инструкции основного файла
<!-- #include file="header1.inc" -->
Next
%>
Следующий сценарий будет работать:
<%
For i = 1 to n
инструкции основного файла
%>
<!-- #include file="header1.inc" -->
<% Next %>
Примечание. Если файл, включаемый в сценарий ASP, содержит много
функций и переменных, не используемых во включающем сценарии,
использование дополнительных ресурсов, занимаемых этими
неиспользуемыми структурами, может значительно снизить
производительность и, в результате, уменьшить масштабируемость вебприложения. Таким образом, рекомендуется разбить включаемые файлы
на несколько небольших файлов и включить только те из них, которые
требуются серверному сценарию, а не включать один или два больших
сценария, содержащих избыточные сведения.
Иногда может потребоваться включить файл на стороне сервера с
помощью тегов HTML <SCRIPT></SCRIPT>. Например, следующий
сценарий включает файл (посредством относительного пути), который
можно выполнять на сервере:
<SCRIPT LANGUAGE="VBScript" RUNAT=SERVER SRC="Utils\datasrt.inc"></SCRIPT>
В следующей таблице приведен правильный синтаксис включения
файлов с атрибутом SRC посредством виртуального или относительного
пути:
Тип пути
Синтаксис
Пример
Относительный SRC="путь\имя_файла"
SRC="Utilities\Test.asp"
Virtual
SRC="/путь/имя_файла"
SRC="/MyScripts/Digital.asp"
Virtual
SRC="\путь\имя_файла"
SRC="\RegApps\Process.asp"
Примечание. При использовании этого метода между тегами
<SCRIPT> нельзя помещать никаких логических операций; для
добавления логических операций используйте отдельную пару тегов
<SCRIPT>.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права
защищены.
Управление сеансами
Важнейшая задача, которую приходится решать при создании вебприложений, это сохранение относящихся к пользователю сведений за
весь сеанс его работы, в то время как сам пользователь может свободно
перемещаться между страницами приложения. Протокол HTTP является
протоколом без состояний, то есть каждый HTTP-запрос для страницы
обрабатывается веб-сервером независимо. Таким образом, сервер не
сохраняет сведений о предшествующих запросах, независимо от того,
насколько малы промежутки времени между ними. Эта особенность
затрудняет создание некоторых приложений, например интерактивного
каталога, где необходимо сохранять сведения о выбираемых
пользователем элементах каталога при его перемещении между
страницами каталога.
В ASP обеспечено уникальное решение вопроса управления данными
сеанса. Используя объект ASP Session (сеанс) и особый код
пользователя, который автоматически формируется сервером, можно
создавать «умные» приложения, которые будут автоматически узнавать
каждого посетителя узла и собирать необходимые сведения о его
предпочтениях или выбираемых им вариантах.
Важно! Код пользователя назначается в ASP посредством HTTP-модуля
настройки (cookie), небольшого по объему файла, который сохраняется в
обозревателе пользователя. Таким образом, при создании приложений
для работы с программами обозревателя, в которых описанные модули
настройки не поддерживаются или отключены пользователем, средства
управления сеансами ASP задействовать не следует.
Начало и завершение сеансов
Существует четыре варианта начала сеанса.



Новый пользователь запрашивает адрес URL, который указывает
на файл .asp в приложении, а файл Global.asa для данного
приложения содержит процедуру Session_OnStart.
Пользователь сохраняет значение в объекте Session.
Новый сеанс запускается автоматически при получении сервером
запроса без требуемого модуля настройки SessionID.

Пользователь в приложении запрашивает файл .asp, а в файле
приложения Global.asa при создании экземпляра объекта с
областью действия на уровне сеанса используется тег <OBJECT>.
Дополнительные сведения о создании экземпляра объекта с
помощью тега <OBJECT> можно найти в разделе Использование
компонентов и объектов.
Сеанс автоматически завершается, если пользователь в приложении не
запросил или не обновил страницу в течение определенного периода
времени. По умолчанию этот период составляет 20 минут. Используемое
по умолчанию значение для приложения можно изменить с помощью
свойства Session Timeout (время ожидания сеанса) на вкладке окна
свойств Параметры приложения в оснастке IIS. Это значение должно
определяться с учетом потребностей веб-приложения и объема памяти
сервера. Так, если ожидается, что посетители будут уделять каждой
странице веб-приложения всего несколько минут, установленное по
умолчанию время ожидания сеанса можно значительно сократить. Если
время ожидания велико, число одновременно открытых сеансов может
значительно увеличиться, что отрицательно скажется на свободных
ресурсах оперативной памяти сервера.
Уменьшая указанное по умолчанию время ожидания сеанса, можно
одновременно задать свойство Timeout (ожидание) для объекта Session
(сеанс). Например, в следующем сценарии устанавливается период
ожидания продолжительностью в 5 минут.
<%
Session.Timeout = 5
%>
Кроме того, можно установить период ожидания, который превышает
используемое по умолчанию значение, определяемое свойством Session
Timeout (время ожидания сеанса).
Примечание. Свойство Timeout (время ожидания) применимо только
к сеансам с состояниями. На протяжении сеансов без состояний объект
Session (сеанс) не включает в себя статических объектов или
содержимого. Подобные сеансы автоматически завершаются после
обработки запроса и его последующего возобновления в связи с
поступлением нового запроса от того же обозревателя.
Для принудительного завершения сеанса существует метод Abandon
(завершение) объекта Session (сеанс). Например, в форму можно
поместить кнопку «Выход», а в качестве параметра ACTION указать URL
файла .asp со следующей командой.
<% Session.Abandon %>
Примечание. Пользовательские запросы, которые были помещены в
очередь до запуска команды Session.Abandon, выполняются в
контексте завершаемого сеанса. После выполнения команды
Session.Abandon вновь поступающие запросы уже не будут связаны с
данным сеансом.
О коде сеанса и модулях настройки
При первом поступлении пользовательского запроса на файл .asp в
данном приложении ASP создает SessionID (код сеанса). Это число
рассчитывается по сложному алгоритму и позволяет однозначно
определить каждый сеанс пользователя. В начале нового сеанса сервер
сохраняет этот код в обозревателе пользователя как файл модуля
настройки узла.
Модуль настройки SessionID подобен коду к сейфу: в сеансе
взаимодействия пользователя с приложением ASP может сохранять
относящиеся к пользователю сведения в специально отведенном месте
на сервере. Содержащийся в модуле настройки код сеанса пользователя
преобразуется в заголовок HTTP-запроса. Это открывает доступ к
сведениям, как открывается сейф после набора правильного шифра
замка. Получая запрос на страницу, ASP всегда проверяет код сеанса в
заголовке HTTP-запроса.
Сохраненный в обозревателе пользователя код используется ASP на
протяжении всего сеанса, даже если пользователь запрашивает другой
файл .asp или файл .asp из другого приложения. Если сеанс
принудительно завершается пользователем или оканчивается по
истечении периода ожидания, при запросе другого файла .asp ASP
начинает новый сеанс с тем же кодом. Выделение пользователю нового
кода сеанса имеет место только при перезапуске сервера
администратором, поскольку это очищает хранящиеся в памяти
параметры SessionID, или в результате перезапуска обозревателя на
компьютере пользователя.
Использование одного и того же кода сеанса позволяет ASP уменьшить
число передаваемых в обозреватель модулей настройки. Кроме того,
если было указано, приложению ASP не требуются средства управления
сеансом, можно отключить журнал сеанса в ASP и отправку модулей
настройки SessionID пользователям.
ASP не отправляет модуль настройки сеанса в следующих случаях.


Отключено сохранение сведений о состоянии сеанса в приложении.
Страница ASP определена как не сохраняющая сведений о сеансе,
то есть содержит тег
<%@ EnableSessionState=False %>
Дополнительные сведения см. в разделе Страницы ASP без
сеансов.
Следует учитывать, что модули настройки SessionID не предназначены
для постоянного наблюдения за работой пользователей на протяжении
многократных посещений ими веб-узла. Данные модуля настройки
SessionID хранятся в оперативной памяти сервера и легко могут быть
потеряны. Чтобы сохранять сведения о посетителях веб-приложения за
более продолжительный срок, следует сохранить на компьютере
пользователя особый модуль настройки и занести в базу данных
сведения, которые дают возможность опознать пользователя
впоследствии. Дополнительные сведения см. в разделе Использование
модулей настройки узла.
Сохранение и удаление данных из объекта
Session
Объект Session обеспечивает доступ к динамическому массиву с
ассоциативными связями, предназначенному для хранения
соответствующих данных. В объекте Session могут храниться как
скалярные, так и объектные переменные.
Для сохранения переменной в объекте Session следует присвоить
значение поименованной записи объекта Session. Ниже приводится
пример команды сохранения двух новых переменных в объекте Session.
<%
Session("FirstName") = "Михаил"
Session("LastName") = "Петров"
%>
Извлечение данных объекта Session осуществляется посредством
обращения к соответствующей поименованной записи. Например, для
просмотра текущего значения переменной Session("FirstName") служит
следующая команда.
Welcome <%= Session("FirstName") %>
Объект Session позволяет также сохранить сведения о предпочтениях
пользователя, на основании которых впоследствии можно будет
определить, какую страницу следует ему отправить. Так, если на первой
странице приложения пользователем выбирается текстовое
представление сведений, та же форма представления может
использоваться применительно к остальным страницам приложения,
которые он посетит.
<% If Session("ScreenResolution") = "Low" Then %>
Текстовая версия страницы.
<% Else %>
Мультимедийная версия страницы.
<% End If %>
В объекте Session можно также сохранить экземпляр объекта, хотя это
может сказаться на быстродействии сервера. Для получения
дополнительных сведений см. раздел Задание области определения
объекта.
Иногда хранящиеся в объекте Session элементы нужно удалить.
Например, нередки случаи, когда посетители электронного магазина
отказываются от уже выбранных товаров и составляют новый список
покупок. В этих обстоятельствах может оказаться целесообразным
обновление объекта Session с удалением лишних элементов.
Семейство Contents объекта Session содержит все хранящиеся
переменные сеанса (речь идет о переменных, для сохранения которых
не используется тег <OBJECT> языка HTML). С помощью метода Remove
семейства Contents можно выборочно удалить ссылки на переменные,
которые добавлялись при соответствующем состоянии сеанса.
Следующий сценарий иллюстрирует применение метода Remove для
очистки элемента (в данном случае это сведения о предоставляемых
пользователю скидках), из объекта Session.
<%
If Session.Contents("Purchamnt") <= 75 then
Session.Contents.Remove("Discount")
End If
%>
При необходимости полностью удалить все сохраняемые переменные
сеанса можно с помощью метода RemoveAll семейства Contents.
Session.Content.RemoveAll()
Для метода Remove имеется возможность выбрать удаление элементов
по именам или по индексу. В следующем сценарии показан пример
циклического перебора значений объекта Session и их удаление по
индексу при выполнении заданного условия.
<%
For Each intQuote in Session.Contents
If Session.Contents("Purchamnt") <= 200 then
Session.Contents.Remove(intQuote)
End If
Next
%>
Управление сеансами при работе с
несколькими серверами
Данные сеанса ASP хранятся на веб-сервере. Сценарии для доступа к
данным сеанса должны запрашиваться обозревателем со страниц одного
и того же веб-сервера. Если за обработку запросов от пользователей
отвечает сразу несколько веб-серверов, не все запросы одного
пользователя могут попасть на один и тот же сервер. Специальное
программное обеспечение распределяет все запросы к узлу по
свободным серверам. Этот процесс называют распределением
загруженности. Таким образом, ведение данных сеанса для
объединенных в кластер веб-серверов затруднено.
Применение средств управления сеансами ASP на узлах с
распределением загруженности требует направления всех запросов
сеанса на один веб-сервер. Это может быть достигнуто путем разработки
процедуры Session_OnStart, перенаправляющей запросы обозревателя
определенному веб-серверу, на котором выполняется сеанс
пользователя, с помощью объекта Response. Если на страницах
приложения используются только относительные ссылки, все
последующие запросы к странице будут направляться на один и тот же
сервер.
Так, пользователь может получить доступ к приложению через запрос
общего адреса URL узла/ например http://www.microsoft.com. При этом
механизм распределения загруженности направит запрос на
определенный сервер, например server3.microsoft.com. На этом сервере
ASP создаст новый сеанс пользователя. В процедуре Session_OnStart
запросы обозревателя перенаправляются на указанный сервер.
<% Response.Redirect("http://server3.microsoft.com/webapps/firstpage.asp") %>
В запросе обозревателя указана конкретная страница, и все
последующие запросы направляются на тот же сервер (если в исходных
адресах URL не указываются имена серверов).
Использование модулей настройки
(«cookie»)
Модуль настройки (файл «cookie») представляет собой опознавательную
метку, которая внедряется веб-сервером в обозреватель пользователя.
При очередном запросе веб-страницы обозреватель отправляет на
сервер полученный ранее модуль настройки. Эта схема позволяет
связать сведения о пользователе с конкретным посетителем. Сценарии
ASP позволяют получать и устанавливать значения объектов cookie с
помощью семейства Cookies объектов Response и Request.
Установка значений «cookie»
Чтобы задать значение объекта cookie, выполните команду
Response.Cookies. Если объект cookie не существует, команда
Response.Cookies создает объект. Так, для отправки обозревателю
модуля настройки с именем ("VisitorID") и значением ("49") можно
воспользоваться следующей командой, которая на веб-странице должна
располагаться до тега <HTML>.
<% Response.Cookies("VisitorID") = 49 %>
Если продолжительность действия модуля настройки должна
ограничиваться только текущим сеансом, отправки этого модуля в
обозреватель вполне достаточно. Но если стоит задача опознания
посетителя даже после перезапуска обозревателя, модуль настройки
cookie должен быть сохранен обозревателем в виде файла на жестком
диске компьютера пользователя. Для сохранения модуля настройки
используйте в Response.Cookies атрибут Expires с будущей датой.
<%
Response.Cookies("VisitorID") = 49
Response.Cookies("VisitorID").Expires = "December 31, 2001"
%>
Модуль настройки может принимать сразу несколько значений, например
индексированный модуль настройки. Индексированному модулю
настройки назначается ключ, которому может быть присвоено
определенное значение. Например:
<% Response.Cookies("VisitorID")("49") = "Travel" %>
Если существующий модуль настройки уже имеет значения ключа,
однако имя ключа в Response.Cookies не определено, значения ключа
удаляются. Если же существующий модуль настройки не имеет значений
ключа, а Response.Cookies определяет имена и значения ключа,
существующее значение cookie удаляется. При этом создаются новые
пары «ключ-значение».
Получение значений cookie
Чтобы получить значение объекта cookie, используйте семейство
Request.Cookies. Например, если HTTP-запрос пользователя задает
VisitorID=49, то следующая инструкция возвращает значение 49:
<%= Request.Cookies("VisitorID") %>
Точно так же значение ключа из индексированного модуля настройки
может быть получено по имени ключа. Например, обозреватель
пользователя отправляет в заголовке HTTP-запроса следующие данные:
Cookie: VisitorID=49=Travel
Показанная ниже инструкция возвратит значение Travel.
<%= Request.Cookies("VisitorID")("49") %>
Определение путей в модуле настройки
Все модули настройки, которые сохраняются ASP в обозревателе
пользователя, содержат сведения о пути. Запрашивая файл, путь
которого указан в модуле настройки, обозреватель автоматически
направляет этот модуль на сервер. По умолчанию сохраненные в модуле
настройки пути соответствуют имени приложения с файлом .asp, с
помощью которых был создан данный модуль настройки. Так, после
создания модуля настройки с помощью файла .asp, который относится к
приложению с именем UserApplication, каждое последующее обращение
веб-обозревателя пользователя к любому файлу данного приложения
будет сопровождаться отправкой соответствующего модуля настройки.
Будут отправляться также все остальные модули настройки, содержащие
путь /UserApplication.
Чтобы задать в модуле настройки путь, отличный от используемого по
умолчанию пути приложения, можно воспользоваться атрибутом Path
семейства ASP Response.Cookies. Например, в следующем сценарии
путь SalesApp/Customer/Profiles/ назначается модулю настройки
Purchases.
<%
Response.Cookies("Purchases") = "12"
Response.Cookies("Purchases").Expires = "January 1, 2001"
Response.Cookies("Purchases").Path = "/SalesApp/Customer/Profiles/"
%>
Каждый раз, запрашивая файл из /SalesApp/Customer/Profiles/ (или из
находящихся по этому пути каталогов), веб-обозреватель, в котором
содержится модуль настройки Purchases, отправляет на сервер
соответствующий модуль настройки.
При сохранении пути модуля настройки многие обозреватели, в числе
которых Microsoft Internet Explorer (версия 4.0 и более поздние), а также
обозреватели Netscape, различают регистр букв. Это означает, что если
регистр букв пути, который указывается в запросе, и пути, который был
сохранен в модуле настройки, отличается, обозреватель не выполняет
отправку модуля настройки на сервер. Например, для ASP, виртуальные
каталоги /TRAVEL и /travel одинаковы, однако с точки зрения
обозревателя, который различает регистр букв в адресе URL, /TRAVEL и
/travel указывают на разные приложения. Поэтому необходимо следить
за тем, чтобы все адреса URL для файлов .asp задавались в одном
регистре. Это гарантирует отправку обозревателем сохраненных модулей
настройки на сервер.
Чтобы определить путь, при котором модуль настройки будет
отправляться обозревателем на сервер одновременно с запросом файла,
независимо от пути или приложения, можно воспользоваться следующей
инструкцией.
Response.Cookies("Purchases").Path = "/"
Однако следует помнить, что независящая от приложения отправка
модуля настройки на сервер может привести к снижению уровня
безопасности, если модуль настройки содержит данные, доступ к
которым должен быть разрешен только в пределах конкретного
приложения.
Сохранение сведений о состоянии без помощи модулей
настройки
Работу с модулями настройки поддерживают не все обозреватели. Если
эта поддержка имеется, она также может быть отключена
пользователем. Если требуется обеспечить совместимость приложения с
обозревателями, не поддерживающими модули настройки, возможности
управления сеансами ASP задействовать не следует.
В этом случае необходимо разработать собственную схему передачи
сведений между страницами приложения. Это может быть сделано двумя
основными способами.

Добавление параметров в строку запроса URL. Например:
http://MyServer/MyApp/start.asp?name=Jeff
Однако в некоторых обозревателях при передаче формы с
использованием метода GET параметры, которые явно передаются
в строке запроса могут не обрабатываться.

Добавление в форму скрытых значений. Пусть в следующей HTMLформе присутствует скрытый элемент управления, который не
выводится на экран. Эта форма передает значение кода
пользователя, а также указанные им сведения с помощью метода
HTTP POST.




<FORM METHOD="POST" ACTION="/scripts/inform.asp">
<INPUT TYPE="text" NAME="city" VALUE="">
<INPUT TYPE="text" NAME="country" VALUE ="">
<INPUT TYPE="hidden" NAME="userid" VALUE= <%= UserIDNum(i) %>
<INPUT TYPE="submit" VALUE="Enter">
Данный метод требует, чтобы все ссылки на сведения пользователя
указывали на HTML-формы.
Если управление сеансами ASP не используется, поддержку сеансов в
приложении следует отключить. Если сеансы включены, в ответ на
каждый запрос страницы обозревателем ASP отправляет модуль
настройки SessionID. Чтобы отключить поддержку сеансов, снимите
флажок Включить состояние сеанса на листе свойств Параметры
приложения в оснастке IIS.
Страницы ASP без сеансов
В ASP существует также возможность создания страниц без сеансов. Это
позволяет создавать сеансы только по мере надобности.
В страницах без сеансов отсутствуют следующие возможности.



Выполнение процедур Session_OnStart.
Отправка модулей настройки с кодами сеансов.
Создание объектов Session.


Доступ к встроенным объектам Session или объектов,
действующих на уровне сеанса, для создания которых
использовался тег <OBJECT>.
Последовательное выполнение вместе с другими запросами сеанса.
Чтобы настроить файл .asp без сеансов, воспользуйтесь следующей
инструкцией.
<%@ EnableSessionState=False %>
Эта строка сценария должна идти в файле .asp первой, предшествуя
остальным сценариям. По умолчанию (если этот тег опущен) сохранение
данных сеансов включено.
Страницы ASP без сеансов могут повысить скорость ответов сервера,
поскольку в этом случае нет потерь времени на обработку сведений о
сеансах. Рассмотрим, например, страницу ASP с двумя HTML-рамками, с
номерами 1 и 2, расположенными в пределах одной группы рамок. Рамка
1 содержит файл .asp, в котором выполняется сложный сценарий. Рамка
2 содержит более простой файл .asp. Поскольку ASP выполняет запросы
сеансов по порядку, или последовательно, просмотр содержимого рамки
2 будет возможен только после выполнения сценария рамки 1. Однако
если файл .asp рамки 1 не поддерживает сведения о сеансах,
последовательный порядок выполнения запросов ASP не требуется,
поэтому содержимое рамки 2 может быть отображено еще до завершения
сценария рамки 1.
К сожалению, порядок выполнения группы запросов для различных
рамок зависит от настроек применяемого пользователем обозревателя.
Отдельные версии обозревателей могут также придерживаться
последовательной обработки запросов независимо от поддержки
сеансов, которая была установлена в файлах .asp.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права
защищены.
Доступ к источнику данных
Объекты ADO (ActiveX Data Objects) представляют собой простую, но
мощную технологию предоставления доступа к базам данных с вебстраниц. Объекты ADO позволяют писать компактные и расширяемые
сценарии для подключения к совместимым с интерфейсом OLE DB
источникам данных, например, базам данных, электронным таблицам,
последовательным файлам данных или каталогам электронной почты.
OLE DB представляет собой программный интерфейс системного уровня,
который предоставляет стандартный набор интерфейсов COM для
обеспечения работы системы управления данными. С помощью модели
объектов ADO нетрудно получить доступ к этим интерфейсам (с помощью
языков сценариев, таких как VBScript или JScript) для добавления в свои
веб-приложения работы с базами данных. Кроме того, можно
использовать интерфейс ADO для доступа к базам данных, совместимым
со стандартом ODBC (Open Database Connectivity).
Для тех, кто имеет представление о современных средствах
подключения к базам данных, синтаксис команд ADO является
несложным и удобным для применения. Для опытного разработчика
интерфейс ADO предоставляет расширяемый, быстродействующий
доступ к разным источникам данных.
Для получения дополнительных сведений об интерфейсе ADO посетите
веб-узел Microsoft Universal Data Access (UDA).
Создание строки подключения
Первый шаг по созданию веб-приложения с доступом к данным состоит в
указании способа, с помощью которого интерфейс ADO находит и задает
источник данных. Это выполняется с помощью строки подключения, —
набора разделенных точкой с запятой аргументов, определяющих такие
параметры, как поставщик данных и размещение источника данных.
Интерфейс ADO использует строку подключения для задания поставщика
OLE DB и направляет этого поставщика на источник данных. Поставщик
данных является компонентом, который представляет источник данных,
а также предоставляет сведения для приложения в форме наборов
строк.
В следующей таблице приведены строки подключения OLE DB для
нескольких общих источников данных.
Источник
данных
Строка подключения OLE DB
Microsoft®
Access
Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=физический путь к файлу .mdb
Microsoft SQL
Server
Provider=SQLOLEDB.1;Data
Source=путь к базе данных на сервере
Oracle
Provider=MSDAORA.1;Data
Source=путь к базе данных на сервере
Служба
Provider=MSIDXS.1;Data Source=путь
индексирования к файлу
Для обеспечения обратной совместимости поставщик данных OLE DB для
ODBC поддерживает синтаксис строк подключения ODBC. В следующей
таблице содержатся типичные строки подключения ODBC:
Драйвер
источника
данных
Строка подключения ODBC
Microsoft
Access
Driver={Microsoft Access Driver
(*.mdb)};DBQ=физический путь к файлу .mdb
SQL Server
DRIVER={SQL Server};SERVER=путь к
серверу
Oracle
DRIVER={Microsoft ODBC for
Oracle};SERVER=путь к серверу
Microsoft
Excel
Driver={Microsoft Excel Driver
(*.xls)};DBQ=физический путь к файлу .xls;
DriverID=278
Microsoft
Excel 97
Driver={Microsoft Excel Driver
(*.xls)};DBQ=физический путь к файлу
.xls;DriverID=790
Paradox
Driver={Microsoft Paradox Driver
(*.db)};DBQ=физический путь к файлу
.db;DriverID=26
Текст
Driver={Microsoft Text Driver
(*.txt;*.csv)};DefaultDir=физический путь к
файлу .txt
Microsoft
Visual
Driver={Microsoft Visual FoxPro
FoxPro® (с Driver};SourceType=DBC;SourceDb=физический
контейнером путь к файлу .dbc
баз данных)
Microsoft
Visual
FoxPro (без
контейнера
баз данных)
Driver={Microsoft Visual FoxPro
Driver};SourceType=DBC;SourceDb=физический
путь к файлу .dbf
Примечание. Для строк подключения, которые используют путь в
формате UNC для ссылки на источник данных, расположенный на
удаленном компьютере, могут возникнуть неполадки, связанные с
безопасностью. Чтобы предотвратить несанкционированный доступ к
вашему источнику данных, создайте учетную запись Windows для
компьютеров, которым требуется доступ к этим данным, а затем
примените соответствующие разрешения NTFS к источнику данных. Для
получения дополнительных сведений см. раздел Защита файлов в
системе NTFS.
Дополнительные вопросы разработки вебприложений с доступом к данным
Чтобы при обслуживании веб-приложений, доступ к данным которых
одновременно осуществляют более 10 пользователей, обеспечить
высокое быстродействие и надежность работы, настоятельно
рекомендуем использовать обработчик баз данных типа «клиентсервер». Хотя интерфейс ADO работает с любым источником данных,
совместимым со стандартом OLE DB, он был разработан и лучше всего
проверен для работы с базами данных типа «клиент-сервер», такими как
Microsoft SQL Server или Oracle.
Страницы ASP поддерживают в качестве допустимых источников данных
базы данных с общими файлами (Microsoft Access или Microsoft FoxPro).
Хотя некоторые примеры в документации ASP используют базу данных с
общим файлом, желательно использовать обработчики таких типов баз
данных только для средств разработки или для ограниченных сценариев
развертывания. Базы данных с общими файлами могут хуже подходить
для профессионально разработанных веб-приложений, которые должны
обслуживать большое число запросов, по сравнению с базами данных
типа "клиент-сервер".
При разработке ASP-приложения с доступом к базам данных,
предназначенного для подключения к удаленной базе данных на SQL
Server, следует иметь представление о приведенных ниже вопросах.


Выбор схемы подключения для SQL Server. Имеется
возможность выбрать один из двух методов доступа к удаленной
базе данных SQL Server: соединители TCP/IP и именованные
каналы. Для именованных каналов проверка подлинности клиентов
баз данных должна выполняться с помощью Windows перед
установкой подключения. При этом имеется возможность, что
удаленный компьютер, на котором запущены именованные каналы,
откажет в доступе пользователю, имеющему необходимые учетные
сведения для доступа к SQL Server, но не имеющему учетной
записи пользователя Windows на данном компьютере. Напротив,
подключения с помощью соединителей TCP/IP напрямую
соединяются с сервером баз данных, без использования
промежуточного компьютера, как при использовании именованных
каналов. И поскольку подключения, выполненные с помощью
соединителей TCP/IP соединяются напрямую с сервером баз
данных, пользователи могут получить доступ через проверку
подлинности SQL Server, а не через проверку подлинности
Windows.
Ошибка ODBC 80004005. Если схема подключения для доступа
к SQL Server задана неправильно, пользователи, просматривающие
приложение с доступом к базам данных, могут получить сообщение
об ошибке ODBC 80004005. Для исправления ситуации попробуйте
использовать вместо сетевых подключений локальные
подключения через именованный канал, если SQL Server запущен
на том же компьютере, что и службы IIS. Правила безопасности
Windows XP не будут использованы, поскольку канал является
локальным, а не сетевым подключением, которое может
олицетворяться с помощью учетной записи анонимного
пользователя. Крое того, в строке подключения к SQL Server (либо
в файле Global.asa, либо в сценарии страничного уровня) измените
параметр SERVER=имя сервера на SERVER=(local). Ключевое
слово (local) является специальным параметром, распознаваемым
драйвером ODBC SQL Server. Если это решение не работает,
попробуйте использовать протокол без проверки подлинности для
связи между IIS и SQL Server, например соединители TCP/IP. Этот
протокол будет работать при локальном запуске SQL Server или на
удаленном компьютере.
Примечание. Для увеличения быстродействия при подключении
к удаленным базам данных воспользуйтесь соединителями TCP/IP.

Безопасность SQL Server. При использовании встроенных или
смешанных средств безопасности SQL Server и при размещении
базы данных SQL Server на удаленном сервере невозможно
использование встроенной проверки подлинности Windows.
Специфика заключается в том, что невозможно пересылать
учетные сведения для встроенной проверки подлинности Windows
на удаленный компьютер. Это означает, что может потребоваться
использовать обычную проверку подлинности, при которой
требуется ввод имени пользователя и пароля.
Дополнительные сведения по этим вопросам см. на веб-узле технической
поддержки корпорации Майкрософт.
Подключение к источнику данных
Интерфейс ADO предоставляет объект Connection для установления и
обработки связей между приложением и совместимыми со стандартом
OLE DB источниками данных или совместимыми со стандартом ODBC
базами данных. Объект Connection имеет свойства и методы, которые
можно использовать для открытия и закрытия подключений к базам
данных, а также для выполнения запросов на обновление данных.
Чтобы установить подключение к базе данных, необходимо сначала
создать экземпляр объекта Connection. Например, следующий сценарий
создает экземпляр объекта Connection и открывает подключение:
<%
'Создание объекта подключения.
Set cnn = Server.CreateObject("ADODB.Connection")
'Открытие подключения с помощью строки подключения OLE DB.
cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=C:\MarketData\ProjectedSales.mdb"
%>
Примечание. Строка подключения не содержит пробелы перед или
после знака равенства (=).
В этом случае для объекта Connection строку подключения указывает
метод Open.
Выполнение SQL-запросов с помощью
объекта Connection
С помощью метода Execute объекта Connection можно выдавать
команды для источников данных, например SQL-запросы (Structured
Query Language). (Язык SQL является стандартным языком,
используемым для связи с базами данных, и определяет команды для
получения и обновления данных.) Метод Execute может принимать
параметры, задающие команду (или запрос), число обрабатываемых
записей данных и тип используемой команды.
Следующий сценарий использует метод Execute для выдачи запроса в
форме SQL-команды INSERT, которая вставляет данные в определенную
таблицу базы данных. В данном случае блок сценария вставляет имя
Jose Lugo в таблицу базы данных с именем Customers.
<%
'Определение строки подключения OLE DB.
strConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=C:\Data\Employees.mdb"
'Создание экземпляра объекта Connection и открытие подключения к базе
данных.
Set cnn = Server.CreateObject("ADODB.Connection")
cnn.Open strConnectionString
''Определение инструкции SQL SELECT.
strSQL = "INSERT INTO Customers (FirstName, LastName) VALUES
('Jose','Lugo')"
'Использование метода Execute для выполнения запроса SQL к базе данных.
cnn.Execute strSQL,,adCmdText + adExecuteNoRecords
%>
Следует отметить, что два указанных в инструкции параметра
используются для выполнения запроса: adCmdText и
adExecuteNoRecords. Необязательный параметр adCmdText задает
тип команды, указывая, что поставщик должен использовать инструкцию
запроса (в данном случае, SQL-запрос) в качестве текстового
определения команды. Параметр adExecuteNoRecords указывает ADO
не создавать набор записей данных, если в приложение не
возвращаются результаты. Это параметр работает только с типами
команд, определенными в текстовом виде, например с SQL-запросами
или сохраненными процедурами баз данных. Хотя параметры
adCmdText и adExecuteNoRecords являются необязательными,
следует указывать эти параметры при использовании метода Execute
для повышения быстродействия приложения с доступом к данным.
Важно! Параметры ADO, такие как adCmdText, должны быть
определены перед их использованием в сценарии. Удобный способ
определения параметров состоит в использовании библиотеки типов
компонентов, которая представляет собой файл, содержащий
определения для всех параметров ADO. Для применения такой
библиотеки необходимо сначала описать ее. Чтобы определить
библиотеку типов ADO, добавьте следующий тег <METADATA> в свой
файл .asp или файл Global.asa:
<!--METADATA NAME="Microsoft ActiveX Data Objects 2.5 Library" TYPE="TypeLib"
UUID="{00000205-0000-0010-8000-00AA006D2EA4}"-->
Дополнительные сведения о применении библиотек типов компонентов
см. в подразделе Использование констант раздела Использование
переменных и констант.
В дополнение к команде SQL INSERT можно использовать команды SQL
UPDATE и DELETE для изменения и удаления информации в базе
данных.
С помощью команды SQL UPDATE можно изменить значения элементов в
таблице базы данных. Приведенный ниже сценарий использует команду
UPDATE для изменения значения поля FirstName в таблице Customers на
Jeff для всех записей, в которых поле LastName содержит фамилию Smith.
<%
Set cnn = Server.CreateObject("ADODB.Connection")
cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=C:\Data\Employees.mdb"
cnn.Execute "UPDATE Customers SET FirstName = 'Jeff' WHERE LastName =
'Smith' ",,adCmdText + adExecuteNoRecords
%>
Чтобы удалить определенные записи из таблицы базы данных,
используйте команду SQL DELETE. Приведенный ниже сценарий удаляет
из таблицы Customers все строки, в которых фамилия равна Петров:
<%
Set cnn = Server.CreateObject("ADODB.Connection")
cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=C:\Data\Employees.mdb"
cnn.Execute "DELETE FROM Customers WHERE LastName = 'Петров'",,adCmdText +
adExecuteNoRecords
%>
Примечание. Следует быть очень внимательным при использовании
команды SQL DELETE. Команда DELETE без сопутствующего
предложения WHERE удалит все строки из таблицы. Проверьте наличие
предложения SQL WHERE, которое указывает конкретные удаляемые
строки.
Использование объекта Recordset для
обработки результатов
Для извлечения данных, проверки результатов и внесения изменений в
базу данных ADO предоставляет объект Recordset. Как подразумевает
его имя, объект Recordset имеет возможности, которые можно
использовать (в зависимости от ограничений запроса) для извлечения и
отображения набора строк базы данных, или записей. Объект Recordset
поддерживает положение каждой записи, возвращенной запросом,
предоставляя возможность просматривать результаты по одному
элементу.
Извлечение набора записей
Успешно выполняемые веб-приложения используют объект Connection
для установления соединения и объект Recordset для обработки
возвращенных данных. Комбинируя специализированные функции обоих
объектов, можно разработать приложение для работы с базой данных,
выполняющее практически любую задачу обработки. Например,
приведенный ниже сценарий на стороне сервера использует объект
Recordset для выполнения команды SQL SELECT. Команда SELECT
извлекает определенный набор информации на основании ограничений,
налагаемых запросом. Запрос также содержит предложение SQL WHERE,
используемое для сужения результатов запроса заданным условием. В
данном примере предложение WHERE ограничивает запрос всеми
записями в таблице Customers базы данных, имеющими фамилию
Петров.
<%
'Установление подключения к источнику данных.
strConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=C:\Data\Employees.mdb"
Set cnn = Server.CreateObject("ADODB.Connection")
cnn.Open strConnectionString
'Создание экземпляра объекта Recordset.
Set rstCustomers = Server.CreateObject("ADODB.Recordset")
'Открытие набора записей с помощью метода Open
'с использованием подключения, установленного с помощью объекта Connection.
strSQL = "SELECT FirstName, LastName FROM Customers WHERE LastName =
'Петров' "
rstCustomers.Open strSQL, cnn
'Цикл по набору записей, отображение результатов
'и переход на следующую запись с помощью метода MoveNext.
Set objFirstName = rstCustomers("FirstName")
Set objLastName = rstCustomers("LastName")
Do Until rstCustomers.EOF
Response.Write objFirstName & " " & objLastName & "<BR>"
rstCustomers.MoveNext
Loop
%>
Обратите внимание, что в предыдущем примере объект Connection
устанавливает подключение к базе данных, а объект Recordset
использует то же самое подключение для извлечения результатов из
базы данных. Данный метод является предпочтительным, если
необходимо точно настроить способ установления соединения с базой
данных. Например, если необходимо указать время задержки перед
прекращением попыток подключения, необходимо использовать объект
Connection для установки этого свойства. Однако если нужно просто
установить соединение с помощью свойств соединения ADO, заданных
по умолчанию, для установления соединения можно использовать метод
Open объекта Recordset:
<%
strConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=C:\Data\Employees.mdb"
strSQL = "SELECT FirstName, LastName FROM Customers WHERE LastName =
'Петров' "
Set rstCustomers = Server.CreateObject("ADODB.Recordset")
'Открытие подключения с помощью метода Open
'с использованием подключения, установленного с помощью объекта Connection.
rstCustomers.Open strSQL, strConnectionString
'Цикл по набору записей, отображение результатов,
'и переход на следующую запись с помощью метода MoveNext.
Set objFirstName = rstCustomers("FirstName")
Set objLastName = rstCustomers("LastName")
Do Until rstCustomers.EOF
Response.Write objFirstName & " " & objLastName & "<BR>"
rstCustomers.MoveNext
Loop
%>
Если подключение устанавливается с помощью метода Open объекта
Recordset, неявно используется объект Connection для обеспечения
безопасности соединения. Дополнительные сведения см. в документации
Microsoft ActiveX Data Objects (ADO), доступной на на веб-узле Microsoft
Universal Data Access.
Примечание. Чтобы существенно повысить быстродействие
приложений ASP, работающих с базами данных, предусмотрите
кэширование набора данных в состоянии Application. Дополнительные
сведения см. в разделе Кэширование данных.
Часто бывает полезно считать число записей, возвращаемых в наборе
записей. Метод Open объекта Recordset позволяет указать
необязательный параметр cursor, определяющий способ извлечения и
перемещения по набору записей. Добавляя параметр курсора
adOpenKeyset к инструкции, выполняющей запрос, клиентскому
приложению предоставляется возможность полного просмотра набора
записей. В результате, приложение может использовать свойство
RecordCount для точного подсчета числа записей в наборе записей. См.
приведенный ниже пример:
<%
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open "SELECT * FROM NewOrders",
"Provider=Microsoft.Jet.OLEDB.3.51;Data
Source='C:\CustomerOrders\Orders.mdb'", adOpenKeyset, adLockOptimistic,
adCmdText
'Использование для подсчета свойства RecordCount объекта Recordset.
If rs.RecordCount >= 5 then
Response.Write "Получено " & rs.RecordCount & " новых заказов<BR>"
Do Until rs.EOF
Response.Write rs("CustomerFirstName") & " " &
rs("CustomerLastName") & "<BR>"
Response.Write rs("AccountNumber") & "<BR>"
Response.Write rs("Quantity") & "<BR>"
Response.Write rs("DeliveryDate") & "<BR><BR>"
rs.MoveNext
Loop
Else
Response.Write "Имеется меньше " & rs.RecordCount & " новых
заказов."
End If
rs.Close
%>
Усовершенствование запросов с помощью
объекта Command
С помощью объекта ADO Command можно выполнять запросы таким же
образом, как и с помощью объектов Connection и Recordset, за
исключением того, что объект Command позволяет подготавливать, или
компилировать, запрос к источнику данных и затем многократно
выполнять запрос с разными наборами значений. Преимущества
компиляции запросов состоит в том, что это позволяет существенно
уменьшить время для внесения изменений в существующий запрос.
Кроме того, можно оставить SQL-запросы частично неопределенными,
предоставляя возможность изменения частей запросов непосредственно
перед выполнением.
Семейство Parameters объекта Command избавляет от необходимости
восстанавливать запрос при каждом его вызове. Например, если
необходимо регулярно обновлять информацию о поставках и стоимости в
складской системе, использующей веб-технологию, можно определить
запрос в следующем виде:
<%
'Открытие подключения с помощью метода Connection. Следует отметить, что
у объекта Command
'нет метода Open для установления подключения.
strConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=C:\Data\Inventory.mdb"
Set cnn = Server.CreateObject("ADODB.Connection")
cnn.Open strConnectionString
'Создание экземпляра объекта Command; использование свойства
ActiveConnection
'для присоединения подключения к объекту Command.
Set cmn= Server.CreateObject("ADODB.Command")
Set cmn.ActiveConnection = cnn
'Определение запроса SQL.
cmn.CommandText = "INSERT INTO Inventory (Material, Quantity) VALUES (?,
?)"
'Сохранение подготовленной (прекомпилированной) версии запроса, указанной
в свойстве CommandText
'перед первым выполнением объекта Command.
cmn.Prepared = True
'Определение конфигурации параметров запроса.
cmn.Parameters.Append cmn.CreateParameter("material_type",adVarChar, ,255
)
cmn.Parameters.Append cmn.CreateParameter("quantity",adVarChar, ,255 )
'Определение и выполнение первой вставки.
cmn("material_type") = "light bulbs"
cmn("quantity") = "40"
cmn.Execute ,,adCmdText + adExecuteNoRecords
'Определение и выполнение второй вставки.
cmn("material_type") = "fuses"
cmn("quantity") = "600"
cmn.Execute ,,adCmdText + adExecuteNoRecords
.
.
.
%>
Важно! Параметры ADO, например adCmdText, являются просто
переменными, это означает, что перед использованием параметра ADO в
сценарии, осуществляющем доступ к данным, необходимо определить
его значение. Поскольку ADO использует большое число параметров,
наиболее простым способ определения параметров является
использование библиотеки типов компонента — файла, содержащего
описание каждого параметра и каждой константы ADO. Дополнительные
сведения о применении библиотеки типов ADO см. в подразделе
Использование констант раздела Использование переменных и констант.
В приведенном выше примере следует обратить внимание, что сценарий
многократно создает и выполняет SQL-запрос с разными значениями, не
переопределяя и повторно не отправляя запрос к базе данных
источника. Компиляция запросов с помощью объекта Command также
обеспечивает отсутствие проблем, связанных со сцеплением строк и
переменных для формирования запросов SQL. В частности, с помощью
семейства Parameter объекта Command можно избежать проблем,
связанных с определением конкретных типов строковых переменных и
переменных, хранящих дату и время. Например, запрос SQL,
содержащий апостроф ('), может вызвать сбой запроса:
strSQL = "INSERT INTO Customers (FirstName, LastName) VALUES
('Robert','O'Hara')"
Обратите внимание, что фамилия O'Hara содержит апостроф, который
вступает в конфликт с апострофами, используемыми как ограничители
данных в ключевом слове SQL VALUES. Привязав значение строки
запроса к параметру объекта Command, можно избежать проблем этого
типа.
Объединение форм HTML и доступа к базе
данных
Веб-страницы, содержащие формы HTML, могут позволять пользователям
запрашивать базу данных в удаленном режиме и извлекать
определенные сведения. С помощью ADO можно создать удивительно
простые сценарии, которые собирают информацию из пользовательских
форм, создают настраиваемый запрос к базе данных и возвращают
информацию пользователю. Используя объект ASP Request, можно
извлечь информацию, введенную в форму HTML, и включить эти
сведения в предложения SQL. Например, приведенный ниже фрагмент
сценария вставляет сведения, предоставляемые формой HTML, в
таблицу. Сценарий собирает сведения от пользователей с помощью
семейства Form объекта Request.
<%
'Открытие подключения с помощью объекта Connection. У объекта Command
'нет метода Open для установления подключения.
strConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=D:\CompanyCatalog\Seeds.mdb"
Set cnn = Server.CreateObject("ADODB.Connection")
cnn.Open strConnectionString
'Создание экземпляра объекта Command
'и использование свойства ActiveConnection
'для присоединения подключения к объекту Command.
Set cmn= Server.CreateObject("ADODB.Command")
Set cmn.ActiveConnection = cnn
'Определение запроса SQL.
cmn.CommandText = "INSERT INTO MySeedsTable (Type) VALUES (?)"
'Определение конфигурации параметров запроса.
cmn.Parameters.Append cmn.CreateParameter("type",adVarChar, ,255)
'Назначение входного значения и выполнение обновления.
cmn("type") = Request.Form("SeedType")
cmn.Execute ,,adCmdText + adExecuteNoRecords
%>
Дополнительные сведения о формах и использовании объекта ASP
Request см. в разделе Обработка сведений, введенных пользователем.
Управление подключениями к базам
данных
Одной из основных трудностей при разработке сложных вебприложений, работающих с базами данных (например, электронной
системы работы с заказами, обслуживающей тысячи покупателей),
является управление подключениями к базе данных. Открытие и
поддержание подключений к базе данных (даже если при этом не
передается никакой информации) может потребовать большого
количества ресурсов сервера и может вызвать проблемы с
подключением. Хорошо разработанные веб-приложения, работающие с
базами данных, повторно используют подключения к базе данных и
компенсируют задержки, связанные с сетевой передачей данных.
Превышение времени ожидания подключения
Сервер базы данных, испытывающий внезапное возрастание активности
пользователей, может оказаться перегружен, при этом существенно
возрастет время, требуемое для установления подключения к базе
данных. В результате, дополнительные задержки при соединении могут
снизить быстродействие приложения.
Свойство ConnectionTimeout объекта Connection позволяет
ограничить время, которое приложение ожидает перед завершением
попытки соединения и выдачей сообщения об ошибке. Например,
приведенный ниже сценарий устанавливает свойство
ConnectionTimeout для ожидания в течение 20 секунд перед отменой
попытки соединения:
Set cnn = Server.CreateObject("ADODB.Connection")
cnn.ConnectionTimeout = 20
cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Data\Inventory.mdb"
Значение свойства ConnectionTimeout, устанавливаемое по
умолчанию, равно 30 секундам.
Примечание. До применения свойства ConnectionTimeout в
приложении убедитесь в том, что источник данных и поставщик
подключений поддерживают это свойство.
Группировка подключений
Группировка подключений позволяет веб-приложению использовать
подключения из группы — набора свободных подключений, которые не
нужно устанавливать заново. После того как подключение будет создано
и помещено в группу, приложение сможет повторно использовать его, не
выполняя каждый раз процесс установления подключения. Это может
дать значительный выигрыш в производительности, особенно если
приложение подключается по сети или часто подключается и
отключается. Кроме того, помещенные в группу подключения могут
использоваться несколькими различными приложениями.
Группировка сеансов OLE DB
OLE DB имеет средство группировки, называемое группировкой сеансов,
оптимизированное для повышения производительности подключения при
работе с большими веб-приложениями баз данных. Группировка сеанса
сохраняет безопасность подключения и другие свойства. Подключение
из группы используется только в том случае, если с обоих концов
подключения поступают совпадающие запросы. По умолчанию
поставщики OLE DB для Microsoft SQL Server и Oracle поддерживают
группировку сеансов. Это означает, что вам не нужно специально
настраивать свое приложение, сервер или базу данных для
использования группировки сеансов. Если поставщик не поддерживает
по умолчанию группировку сеансов, то для ее включения нужно будет
создать параметр реестра. Дополнительные сведения о группировке
сеансов см. в документации по OLE DB 2.0 Software Development Kit
(SDK).
Группировка подключений ODBC
Чтобы драйвер ODBC мог использовать группировку подключений,
нужно настроить драйвер используемой базы данных и задать в реестре
Windows значение для его свойства CPTimeout . Свойство CPTimeout
определяет длительность интервала времени, в течение которого
подключение остается в группе подключений. Если время нахождения
подключения в группе начинает превышать значение, указанное в
свойстве CPTimeout, то подключение закрывается и удаляется из
группы. По умолчанию свойство CPTimeout имеет значение 60 секунд.
Можно настроить свойство CPTimeout для группировки подключений
для драйвера определенной базы данных ODBC, создав следующий
параметр реестра:
\HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\имя_драйвера\CPTimeout =
длительность
(тип REG_SZ, значения задаются в секундах)
Например, следующий параметр задает время ожидания 180 секунд (3
минуты) для драйвера SQL Server.
\HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\SQL Server\CPTimeout = 180
Примечание. По умолчанию веб-сервер включает группировку
подключений для SQL Server, устанавливая свойство CPTimeout в
значение 60.
Использование подключения несколькими страницами
Хотя и можно повторно использовать подключение на нескольких
страницах, сохраняя подключение в ASP-объекте Application, это может
привести к сохранению ненужного подключения в открытом состоянии и
к потере преимуществ от использования группировки подключения. Если
имеется много пользователей, которым требуется подключение к одному
и тому же ASP-приложению с доступом к базам данных, лучшим
подходом повторного использования строки подключения к базе данных
на нескольких веб-страницах, является размещение этой строки в ASPобъекте Application. Например, можно задать строку подключения в
файле Global.asa в связанной с событием процедуре Application_OnStart,
как это сделано в следующем сценарии:
Application("ConnectionString") = "Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=C:\Data\Inventory.mdb"
Затем в каждом ASP-файле, обращающемся к этой базе данных, следует
написать
<OBJECT RUNAT=SERVER ID=cnn PROGID="ADODB.Connection"></OBJECT>
для создания экземпляра объекта Connection для этой страницы, а
воспользоваться сценарием
cnn.Open Application("ConnectionString")
для открытия подключения. В конце страницы закройте подключение с
помощью строки
cnn.Close
В случае отдельного пользователя, которому требуется повторно
использовать подключение на нескольких веб-страницах, возможно,
более удобным для хранения строки подключения является
использование объекта Session, а не объекта Application .
Закрытие подключений
Чтобы воспользоваться преимуществами группировки подключений, как
можно быстрее явно закрывайте подключения к базам данных. По
умолчанию подключение закрывается после завершения выполнения
сценария. Однако, явно закрывая подключение в сценарии, как только
оно больше не нужно, вы сократите число запросов к серверу баз
данных и сделаете подключение доступным для других пользователей.
Чтобы явно закрыть подключение объекта Connection к базе данных,
можно воспользоваться методом Close объекта Connection. Следующий
сценарий открывает и закрывает подключение:
<%
strConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=C:\Data\Inventory.mdb"
Set cnn = Server.CreateObject("ADODB.Connection")
cnn.Open strConnectionString
cnn.Close
%>
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права
защищены.
Представление о транзакциях
В коммерческих приложениях часто возникает необходимость
выполнения сценариев и компонентов внутри транзакций. Транзакцией
называют совокупность операций сервера, выполняемых в рамках
единой операции, которая либо успешно выполняется в целом, либо не
выполняется (например, создание заказов, проверка инвентарных
запасов и выписка счетов). Если создать сценарий, который будет
выполняться на сервере в рамках транзакции, ошибка в любой его части
приведет к отмене всей транзакции.
Обработка транзакций ASP основана на среде транзакций службы
компонентов, которая представляет собой систему обработки транзакций
для разработки и развертывания высокопроизводительных,
масштабируемых и надежных серверных приложений в рамках
предприятия, в Интернете и в интрасетях организаций, а также для
управления ими. Эта среда транзакций определяет модель
программирования для создания распределенных компонентноориентированных приложений. Она является также средством для
развертывания и управления этими приложениями.
Веб-сервер имеет встроенные функции, позволяющие создавать
ориентированные на транзакции сценарии. При установке служб
компонентов могут быть созданы пакеты компонентов, которые будут
выполняться внутри транзакций.
О транзакциях
Транзакцией называют операцию, которая может быть выполнена
успешно или завершиться с ошибкой только как единое целое. Надежное
обновление баз данных может быть обеспечено только на основе
обработки транзакций. При внесении большого числа взаимосвязанных
изменений в базу данных или обновлении сразу нескольких баз данных
необходима гарантия правильности всех операций по изменению
данных. Ошибка на любом этапе изменения должна приводить к
восстановлению первоначального состояния всех таблиц базы данных.
Самостоятельная реализация подобного механизма потребовала бы
написания сценариев и компонентов, которые отслеживали бы нужные
изменения и восстанавливали первоначальные данные при
возникновении ошибок. Однако применение служб компонентов
позволяет существенно упростить эту задачу. Достаточно просто
объявить выполнение сценариев и компонентов в рамках транзакций.
После этого их обработка будет координироваться автоматически
службами компонентов. Понятие обработки транзакций применимо
только к работе с базами данных. Службы компонентов не поддерживают
восстановление исходного состояния после изменений в файловой
системе или в других ресурсах, с которыми механизм транзакций не
работает. Приложения могут работать только с базами данных, которые
поддерживаются службами компонентов. На текущий момент имеется
возможность работы с базами данных SQL Server, а также с другими
базами данных, в которых реализована поддержка протокола
транзакций XA (разработан консорциумом X/Open). В будущем службы
компонентов смогут поддерживать и другие системы баз данных.
С помощью методов Server.Transfer и Server.Execute в операции
может участвовать несколько страниц ASP. После вызова сценария, в
котором присутствует директива @TRANSACTION со значением
«Required», посредством метода Server.Transfer или Server.Execute,
продолжается выполнение транзакции, запущенной вызванным файлом
«.asp» (если последний уже участвовал в транзакции). Если файл «.asp»
в транзакции еще не участвовал, при его вызове автоматически будет
создана новая транзакция.
В следующем примере сценария показан запуск транзакции.
<%@ TRANSACTION=Required %>
<%
.
.
.
'Конец транзакции.
Server.Transfer("/BookSales/EndTrans.asp")
%>
Однако в следующем сценарии происходит вызов другого сценария,
также запускающего транзакцию.
<%@ TRANSACTION=Required%>
<%
'Пример закрытия транзакции специальным компонентом.
Set objSale = Server.CreateObject("SalesTransacted.Complete")
.
.
.
%>
В результате совместного действия обоих сценариев будет выполняться
только одна транзакция. Дополнительные сведения о создании
сценариев с командами Server.Transfer и Server.Execute можно найти
в разделе Отправка содержимого в обозреватель.
Объявление сценариев с поддержкой
транзакций
Объявление страницы как поддерживающей транзакции приводит к
тому, что все используемые в ней команды сценариев и объекты
выполняются в контексте одной транзакции. Службы компонентов
обрабатывают все данные, относящиеся к созданию и выполнению
(успешному или неуспешному) транзакции. Чтобы объявить страницу как
поддерживающую транзакции, в верхней части страницы необходимо
поместить директиву @TRANSACTION.
<%@ TRANSACTION = значение %>
Дополнительные сведения об аргументе значение приводятся в справке
по директиве @TRANSACTION.
Директива @TRANSACTION должна быть самой первой строкой на
странице. Если это не так, возникает состояние ошибки. Эта директива
также должна добавляться на каждую участвующую в транзакции
страницу. Завершение текущей транзакции происходит одновременно с
окончанием выполнения сценария.
В большинстве приложений контекст транзакции требуется только для
определенных операций. Например, на веб-узле авиакомпании сценарии
с поддержкой транзакций могут применяться для продажи билетов и
бронирования мест. Безопасный запуск всех прочих сценариев может
быть обеспечен и вне контекста транзакции. В с необходимостью
применения транзакций только в отношении страниц, которые требуют
обработки транзакций, объявление файла приложения Global.asa как
поддерживающего транзакции невозможно.
Если транзакция завершается с ошибкой, службы компонентов
восстанавливают состояние до начала всех изменений по всем ресурсам
с поддержкой транзакций. В настоящее время полная поддержка
транзакций обеспечивается только серверами баз данных, поскольку
безопасной обработке именно этих данных придается особое значение
при разработке приложений для организаций. Службы компонентов не
поддерживают восстановления после изменений в файловой системе на
жестком диске, переменных приложения и сеанса ASP или семейств.
Однако, как будет показано дальше, не исключена возможность
создания сценариев, которые будут использовать механизм транзакций
для решения упомянутых задач. Так, можно разработать сценарий, в
котором, транзакция будет успешно завершаться или прерываться в
результате ошибки операции (например записи данных в файл).
Нормальное и принудительное завершение
сценария
Наблюдая за выполнением транзакции, службы компонентов определяют
результат ее выполнения — успешный или с ошибкой. В сценарии может
быть в явном виде объявлено принудительное завершение транзакции
посредством вызова процедуры ObjectContext.SetAbort. Например,
подобное завершение транзакции возможно при получении ошибки
компонента в результате нарушения правила обработки финансовых
данных (например отрицательное сальдо счета) или при ошибке в
операции, не относящейся к транзакции (например чтение или запись в
файл). Транзакция также принудительно завершается, если время
ожидания для страницы истекает до нормального завершения
транзакции.
Запись событий транзакции
Результат выполнения транзакции не может быть определен самим
сценарием. Эта задача решается с помощью событий, которые могут
быть вызваны при нормальном или принудительном завершении
транзакции. Рассмотрим пример сценария, в котором выполняется
операция зачисления средств на банковский счет. Предположим, что в
зависимости от состояния транзакции пользователю должны
возвращаться разные веб-страницы. Это можно осуществить с помощью
событий OnTransactionCommit и OnTransactionAbort.
<%@ TRANSACTION=Required %>
<%
'Буферизация вывода для отображения различных страниц.
Response.Buffer = True
%>
<HTML>
<BODY>
<H1>Вас приветствует интерактивная банковская служба</H1>
<%
Set BankAction = Server.CreateObject("MyExample.BankComponent")
BankAction.Deposit(Request("AcctNum"))
%>
<P>Спасибо.
</BODY>
</HTML>
Ваша транзакция обрабатывается.</P>
<%
'Отображение этой страницы при удачном завершении транзакции.
Sub OnTransactionCommit()
%>
<HTML>
<BODY>
Спасибо
Сумма записана в кредит вашего счета.
</BODY>
</HTML>
<%
Response.Flush()
End Sub
%>
<%
'Отображение этой страницы при отказе в выполнении транзакции.
Sub OnTransactionCommit()
Response.Clear()
%>
<HTML>
<BODY>
Не удалось выполнить транзакцию.
</BODY>
</HTML>
<%
Response.Flush()
End Sub
%>
Регистрация компонента в диспетчере
служб компонентов (Component Services
Manager)
Для участия в транзакции компонент должен быть зарегистрирован в
приложении COM+ и настроен как требующий обработки транзакций.
Так, в сценарии обработки заказов с вызовом соответствующих
компонентов для обновления баз данных запасов и платежей оба эти
компонента должны выполняться в контексте транзакции. В случае
ошибки выполнения любого из них службы компонентов обеспечивают
восстановление первоначального состояния базы данных и отмену всего
заказа. Для отдельных компонентов, например Ad Rotator, транзакции не
требуются.
Регистрация и настройка компонентов с поддержкой транзакций
осуществляется с помощью диспетчера служб компонентов. Компоненты
обязательно должны регистрироваться в приложении COM+. Однако не
следует добавлять компоненты во внутреннее для IIS приложение COM+,
с этой целью необходимо создать собственное приложение COM+. Как
правило, все пользовательские компоненты размещаются в одном
приложении Library. Компоненты приложений Library могут
использоваться различными приложениями ASP и выполняться в
запускаемых ими процессах.
Компоненты с поддержкой транзакций могут регистрироваться и в
приложении Server — приложении COM+, которое всегда выполняется
как самостоятельный процесс на сервере. Приложения Server для
компонентов с поддержкой транзакций применяются для обеспечения
безопасности на основе ролей или доступа к компонентам приложений,
которые выполняются на удаленных компьютерах.
Работа с диспетчером служб компонентов требует установки служб
компонентов.
Область действия объекта
В общем случае нет необходимости сохранять объекты, которые
создаются из COM-компонента в объектах ASP Application или Session.
Действие объектов COM автоматически заканчивается после завершения
транзакции. Поскольку объекты Session и Application предназначены
для экземпляров, которые могут использоваться несколькими
страницами ASP, они не должны содержать объекты, освобождаемые по
окончании транзакции.
Сценарий ASP является корнем, или началом, объявленной транзакции.
Любой объект COM, используемый на странице ASP с поддержкой
транзакций, считается частью транзакции. После завершения операции
используемые на странице объекты COM отключаются; это относится и к
тем из них, которые были сохранены в объекте Session или Application.
Все последующие попытки вызова объекта, область действия которого
ограничена сеансом или приложением, с другой поддерживающей
транзакции страницы будут обречены на неудачу.
Поочередное выполнение транзакций
При обновлении базы данных на удаленном сервере может привести к
задержке выполнения и даже принудительному завершению транзакции,
связанным с задержками и ошибками в сети. Поскольку транзакция
должна выполняться как единый процесс, работа приложения может
быть приостановлена в ожидании сообщения удаленного сервера об ее
успешном или принудительном завершении. Транзакция может также
принудительно завершиться в связи с невозможностью отправки данных
для обновления базы данных.
Для тех обновлений, которые должны быть выполнены одновременно,
целесообразно отменить или задержать транзакцию до тех пор, пока не
будет обеспечена возможность выполнения всех ее составляющих. Так,
приложение для заказа билетов должно одновременно завершить
операции списания со счета в банке заказчика и зачисления на счет в
банке авиакомпании. Если обновление происходит в рамках транзакции,
но может быть выполнено в последнюю очередь, заказчик может не
дожидаться завершения этого процесса. В примере с заказом
авиабилетов транзакция может отправлять также особый запрос на
поставку продовольствия или обновлять сведения о дальности полета.
Эти операции обязательно должны быть выполнены, но их срочность
невысока.
Включить одно или несколько обновлений в отправляемое на удаленный
сервер сообщение транзакции позволяют службы очереди сообщений.
Их использование гарантирует доставку обновлений на удаленный
сервер даже в тех случаях, когда сервер или сеть временно недоступны.
После того как приложением будет получено сообщение об успешном
завершении этой операции, выполнение транзакции может быть
продолжено.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права
защищены.
Отладка сценариев ASP
Независимо от уровня подготовки разработчика при создании программ
в них встречаются ошибки, мешающие правильной работе серверных
сценариев. Поэтому отладка (процесс поиска и устранения ошибок
сценариев) является обязательным и важным этапом разработки
надежных приложений ASP, особенно если предполагается дальнейшее
развитие приложения.
Средство отладки сценариев Microsoft Script
Debugger
Отладчик сценариев Microsoft® Script Debugger является мощным
средством отладки, служащим для быстрого поиска ошибок и
интерактивной проверки серверных сценариев. Отладчик сценариев,
также работающий с обозревателем Internet Explorer версии 3.0 или
более поздней, позволяет:




запускать серверные сценарии в построчном режиме выполнения;
открывать окно команд для отслеживания значений переменных,
свойств и элементов массивов в ходе выполнения серверных
сценариев;
приостанавливать выполнение серверных сценариев (используя
отладчик или команду сценария) на определенной строке
сценария;
трассировать процедуры при выполнении серверного сценария.
Примечание. В отладчике можно просматривать сценарии и находить
ошибки, но нельзя редактировать сценарии. Для исправления ошибок
необходимо устранить их в редакторе сценариев, сохранить внесенные
изменения и снова запустить сценарий.
Включение отладки
Для возможности отладки серверных сценариев сначала необходимо
настроить веб-сервер для поддержки отладки сценариев ASP.
Инструкции и сведения содержатся в разделе Включение отладки ASP.
После включения отладки веб-сценариев отладку можно выполнять
одним из следующих методов:


Вручную открыть отладчик сценариев для отладки серверных
сценариев ASP.
Запрашивать файл .asp, используя обозреватель Internet Explorer.
Если файл содержит ошибку или специальную инструкцию,
прерывающую выполнение, отладчик сценариев автоматически
запустит, отобразит сценарий и укажет на источник ошибки.
Ошибки сценариев
При отладке серверных сценариев можно встретить ошибки нескольких
типов. Некоторые из этих ошибок могут вызвать неправильное
выполнение сценариев, остановку выполнения программы или возврат
неверных результатов.
Синтаксические ошибки
Синтаксические ошибки обычно являются результатом использования
неправильного синтаксиса инструкций сценариев. Например, ошибка
возникает, если указано неправильное имя команды или задано
неверное число аргументов. Синтаксические ошибки могут быть
причиной неработоспособности сценария.
Ошибки времени выполнения
Ошибки времени выполнения возникают после того, как началось
выполнение сценария и встретилась инструкция, пытающаяся выполнить
невозможные действия. Например, следующий сценарий содержит
функцию, выполняющую деление переменной на ноль (недопустимую
математическую операцию) и генерирующую ошибку времени
выполнения:
<SCRIPT LANGUAGE=VBScript RUNAT=SERVER>
Result = Findanswer(15)
Document.Write ("Ответ: " &Result)
Function Findanswer(x)
'Эта инструкция генерирует ошибку времени выполнения.
Findanswer = x/0
End Function
</SCRIPT>
Ошибки времени выполнения необходимо исправить, чтобы выполнение
сценариев не прерывалось.
Логические ошибки
Логические ошибки обнаружить гораздо сложнее. Сценарий,
содержащий логические ошибки, которые обычно бывают вызваны
ошибками в тексте программы или упущениями в логике программы,
выполняется нормально, но возвращает неверные результаты.
Например, серверный сценарий, предназначенный для сортировки
списка значений, может выполнять сортировку в неверном порядке, если
в строке сравнения значений использован знак > (больше) вместо знака
< (меньше).
Приемы отладки
Существуют несколько разных приемов поиска ошибок и проверки
приложений.
Своевременная (JIT) отладка
Когда работа серверного сценария прерывается из-за ошибки времени
выполнения, отладчик сценариев автоматически запускается,
отображает файл .asp с указанием строки, в которой произошла ошибка,
и выдает сообщение об ошибке. При таком типе отладки,
называемом своевременной (JIT) отладкой, выполнение программы
приостанавливается. Перед тем, как возобновление выполнения
сценария станет возможным, необходимо исправить ошибки в редакторе
сценариев и сохранить внесенные изменения.
Отладка с точками останова
Если возникает ошибка, источник которой не удается обнаружить,
бывает полезно воспользоваться точкой останова. Точка останова
приостанавливает выполнение сценария на указанной строке. Можно
установить одну или несколько разных точек останова перед строкой, в
которой происходит ошибка, а затем воспользоваться отладчиком для
просмотра значений переменных или свойств, устанавливаемых при
выполнении сценария. После исправления ошибки точки останова
следует удалить, чтобы выполнение сценария происходило без
вмешательства пользователя.
Чтобы установить точку останова, откройте сценарий в редакторе,
выделите строку сценария, на которой требуется прервать выполнение,
и выберите в меню Debug команду Toggle Breakpoint. Затем повторно
запросите сценарий из веб-обозревателя. После выполнения строк
сценария до точки останова будет запущен отладчик сценариев,
отображающий сценарий и указывающий на строку, в которой
установлена точка останова.
Останов на следующей инструкции
В некоторых случаях может потребоваться включение режима отладчика
сценариев Break at Next Statement, если следующая выполняемая
инструкция находится не в данном файле .asp. Например, если
установить режим Break at Next Statement в файле .asp, относящемся
к приложению Sales, отладчик будет запускаться при запуске любого
файла сценария в приложении Sales или в любом приложении, для
которого включена отладка. Поэтому, если включен режим Break at
Next Statement, следует знать, что перед выполнением любой
следующей инструкции сценария будет запущен отладчик.
Отладка сценариев VBScript с использованием инструкции
Stop
В серверные сценарии, написанные на языке VBScript, также можно
добавлять точки останова, вставляя инструкцию Stop перед
сомнительным фрагментом серверного сценария. Например, следующий
серверный сценарий содержит инструкцию Stop, приостанавливающую
выполнение сценария перед вызовом специальной функции:
<%
intDay = Day(Now())
lngAccount = Request.Form("AccountNumber")
dtmExpires = Request.Form("ExpirationDate")
strCustomerID
=
"RETAIL" & intDay & lngAccount & dtmExpires
'Точка останова.
Stop
'Вызов компонента регистрации.
RegisterUser(strCustomerID)
%>
При запросе данного сценария отладчик запускается и автоматически
отображает файл .asp с указанием расположения инструкции Stop. В
этой точке можно просмотреть значения, назначенные переменным,
перед тем, как передать их указанному компоненту.
Важно!
Не забудьте удалить инструкции Stop из готовых файлов .asp.
Отладка сценариев JScript с использованием инструкции
Debugger
Чтобы добавить точки останова в серверные сценарии, написанные на
языке JScript, вставьте инструкцию debugger перед сомнительной
строкой или сценарием. Например, следующий сценарий включает
инструкцию debugger, прерывающую выполнение и автоматически
запускающую отладчик сценариев при каждом присвоении нового
значения.
<%@ LANGUAGE=JScript %>
<%
for (var count = 1; count <= 10; count++)
{
var eventest = count%2
//Установка точки останова для того, чтобы пользователь мог отслеживать
выполнение сценария.
debugger
if (eventest == 0)
Response.Write("Четное значение: " + count + "<br>")
}
%>
Не забудьте удалить инструкцию debugger из готовых файлов .asp.
Примечание. Не путайте инструкцию debugger с инструкцией JScript
break. Инструкция break завершает выполнение текущего цикла, не
активизирует отладчик Microsoft Script Debugger и не приостанавливает
выполнение.
Советы по отладке сценариев
Помимо отладчика сценариев, несколько хороших советов по отладке
могут значительно сократить время, затрачиваемое на обнаружение
источников ошибок. Несмотря на то, что большинство ошибок, таких как
неправильно написанные команды и пропущенные переменные, можно
легко обнаружить, некоторые логические ошибки и ошибки выполнения
найти очень и очень сложно.
Дополнительные сведения об отладчике Microsoft Script Debugger см. в
разделе Windows Script Technologies.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права
защищены.
Встроенные объекты ASP
Активные серверные страницы имеют встроенные объекты, облегчающие
получение сведений, отправляемых в запросе обозревателя, создание
ответа обозревателю и хранение сведений о конкретном пользователе,
например его настройки. В этом разделе кратко описаны все эти
объекты.
Объект Application
Объект Application служит для предоставления совместного доступа к
информации всем пользователям данного приложения.
Объект Request
Объект Request предназначен для получения информации, переданной
в HTTP-запросе. Сюда входят параметры, переданные из HTML-форм с
помощью метода POST или GET, модули настройки клиента и клиентские
сертификаты. Объект Request также предоставляет доступ к двоичным
данным, отправленным серверу, например, к загруженным на сервер
файлам.
Объект Response
Объект Response используется для управления отправляемой
пользователю информацией. Сюда входит непосредственная отправка
данных обозревателю, перенаправление обозревателя по другому URLадресу или установка значений в модуле настройки клиента.
Объект Server
Объект Server предоставляет доступ к методам и свойствам на сервере.
Наиболее часто используется метод для создания экземпляра COMкомпонента (Server.CreateObject). Другие методы переводят строки в
формат URL или HTML, преобразуют виртуальные пути в физические и
устанавливают периоды ожидания для сценариев.
Объект Session
Объект Session служит для хранения сведений о сеансе конкретного
пользователя. Переменные, хранящиеся в объекте Session, не
уничтожаются при переходе пользователя с одной страницы приложения
на другую; значения этих переменных сохраняются на протяжении всего
времени работы пользователя с приложением. Методы объекта Session
можно также использовать для принудительного завершения сеанса и
для настройки периода ожидания простаивающего сеанса.
Объект ObjectContext
Объект ObjectContext используется для завершения или прекращения
транзакции, инициированной сценарием ASP.
Объект ASPError
Объект ASPError служит для перехвата ошибок ASP и выдачи
пользователям более информативных описаний возникших ошибок.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права
защищены.
Объект Application
Семейства:
StaticObjects
Contents
Методы семейства Contents:
Remove
RemoveAll
Объект Response
Семейства:
Cookies
Свойства:
Buffer
CacheControl
Charset
Методы:
Lock
Unlock
События:
Application_OnEnd
Application_OnStart
Объект ObjectContext
Методы:
SetAbort
SetComplete
События:
OnTransactionAbort
OnTransactionCommit
Объект Request
Семейства:
ClientCertificate
Cookies
Form
QueryString
ServerVariables
Свойства:
TotalBytes
Методы:
BinaryRead
Объект ASPError
Свойства:
ASPCode
Number
Source
Category
File
Line
Column
Description
ASPDescription
ContentType
Expires
ExpiresAbsolute
IsClientConnected
PICS
Status
Методы:
AddHeader
AppendToLog
BinaryWrite
Clear
End
Flush
Redirect
Write
Объект Server
Свойства:
ScriptTimeout
Методы:
CreateObject
Execute
GetLastError
HTMLEncode
MapPath
Transfer
URLEncode
Объект Session
Семейства:
StaticObjects
Contents
Методы семейства Contents:
Remove
RemoveAll
Свойства:
CodePage
LCID
SessionID
Timeout
Методы:
Abandon
События:
Session_OnEnd
Session_OnStart
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права
защищены.
Разработка веб-приложений
Это руководство содержит обзорные сведения о проектировании веб-приложений и
введение в более сложные темы — построение компонентов и расширений ISAPI, доступ
к данным, веб-транзакции и быстродействие.
В этом разделе рассматриваются следующие вопросы.







Веб-приложения: обзор. Введение в модель программирования IIS.
Проектные решения. Описание нескольких ключевых вопросов, которые должны
быть рассмотрены при проектировании веб-приложений.
Доступ к данным с помощью ASP. Введение в доступ к данным с веб-страницы с
помощью Microsoft® ActiveX® Data Objects (ADO).
Обработка транзакций. Описание совместной работы IIS и служб компонентов,
доступных в Windows 2000 и более поздних версиях, для обеспечения вебтранзакций.
Безопасность приложений IIS. Введение в вопросы, с которыми веб-разработчики
сталкиваются при доступе к данным и обеспечении их безопасности.
Технологии разработки. Обзор некоторых из последних веб-технологий, например
XML и динамического HTML.
Разработка масштабируемых веб-приложений. Описание влияния проектных
решений веб-приложения на быстродействие сервера.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Веб-приложения: обзор
Открытые стандарты Интернета навсегда изменили архитектуру распределенных
вычислений. Основной язык Интернета – HTML – стал популярным языком для
представления элементов интерфейса пользователя. Межплатформная поддержка языков
написания сценариев и минипрограмм Java, а также поддержка встроенных компонентов
COM, делают возможным комбинирование динамических элементов со статическим
текстом для предоставления пользователям интерактивных возможностей. Однако вебтехнологии используются не только в Интернете. Они были приспособлены к
использованию в деловых приложениях для выполнения следующих задач.







Создания среды разработки, основанной на компонентах.
Разрешения распространения приложений внутри предприятия.
Быстрого создания и настройки новых приложений.
Удаленного обновления баз данных с помощью обычного веб-обозревателя.
Добавления обработки транзакций в веб-приложения.
Обеспечения совместного использования информации несколькими компаниями.
Управления ресурсами и разрешения удаленного администрирования системы.
Этот раздел описывает основные понятия, которые помогут при построении вебприложений, например:


Построение в архитектуре клиент-сервер. Краткое описание истории традиционной
модели проектирования клиент-сервер.
Новая структура системы. Введение в проектирование многоуровневых и
распределенных систем как усовершенствование модели клиент-сервер.


Архитектура Microsoft Windows DNA. Описание Microsoft Windows DNA —
архитектуры Microsoft для построения веб-приложений.
Архитектура Internet Information Services. Обзор компонентов IIS и модели
программирования.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Построение в архитектуре клиент-сервер
Перед тем как углубиться в детали построения веб-приложений, было бы полезно
рассмотреть архитектурную модель Интернета и места веб-обозревателя и сервера в этой
модели.
Обычно взаимодействующие приложения могут быть отнесены либо к клиенту, либо к
серверу. Приложение-клиент запрашивает обслуживание и данные с сервера, а
приложение-сервер отвечает на запросы клиента. Ранние двухуровневые (клиент-сервер)
приложения были разработаны для получения доступа к большим базам данных,
встроенные правила использовались для управления данными с помощью интерфейса
пользователя в приложении-клиенте. Задача сервера состояла просто в обработке как
можно большего числа запросов на извлечение и сохранение данных.
Двухуровневые приложения выполняли множество функций автономных систем: они
представляли интерфейс пользователя, собирали и обрабатывали данные, введенные
пользователем, выполняли запрошенную обработку и сообщали состояние запроса. Эта
последовательность команд могла быть выполнена необходимое число раз. Поскольку
серверы обеспечивали только доступ к данным, клиент использовал локальные ресурсы
для выполнения большей части обработки. Приложение-клиент должно содержать
информацию о месте расположения и способе организации данных в базе данных. После
извлечения данных клиент отвечает за форматирование и отображение данных
пользователю.
Основное преимущество модели «клиент-сервер» состоит в том, что она позволяет
нескольким пользователям одновременно получить доступ к данным приложения, при
этом изменения, внесенные с одного компьютера, становятся доступными для всех
компьютеров, подключенных к серверу. Однако при увеличении числа клиентов сервер
быстро оказывается «завален» запросами клиентов. Также, поскольку основная часть
логики обработки привязана к монолитному набору приложений, изменения бизнесправил ведут к дорогим и продолжительным изменениям исходных программ. Хотя
простота и гибкость двухуровневых продуктов продолжает привлекать создателей
небольших деловых приложений, необходимость более быстрого доступа к данным и
быстрого обновления разработок убедила разработчиков систем искать новые способы
создания распределенных приложений.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Новая структура системы
Сегодняшние приложения клиент-сервер так мало похожи на своих предшественников,
что им было дано новое имя — многоуровневые приложения, известное также как nуровневая архитектура. В этой модели обработка распределяется между клиентом и
сервером, а бизнес-логика собрана в среднем уровне. Большинство систем будут
выполнять следующие три основные задачи, соответствующие трем уровням n-уровневой
модели:
Задача
Описание
Интерфейс
пользователя и
перемещение
Помеченный как «1-й уровень» в приведенном ниже рисунке, этот
уровень заключает все возможности работы пользователя. Этот
уровень не только обеспечивает графический интерфейс пользователя,
позволяющий взаимодействовать с приложением, вводить данные и
просматривать результаты запросов, но и управляет
манипулированием и форматированием данных, полученных
клиентом. В веб-приложениях задачи этого уровня выполняются вебобозревателем.
Бизнес-логика
Уровень 2, между интерфейсом и уровнями служб данных — это
«владения» разработчика распределенного приложения. Бизнеслогика, которая собирает правила, управляющие обработкой
приложения, соединяет пользователя, представляющего одну сторону,
с данными — другой стороной. Функции, которыми управляют
правила, имитируют ежедневные деловые задачи и могут быть
простой задачей или последовательностью задач.
Службы данных
Обозначенные как «3-й уровень» на приведенном ниже рисунке,
службы данных предоставляются структурированными (база данных
SQL, Oracle) и неструктурированными хранилищами данных
(Microsoft® Exchange, Microsoft® Message Queuing), которые
управляют доступом и обеспечивают доступ к данным приложения.
Одно приложение может привлекать службы одного или нескольких
хранилищ данных.
В трехуровневой архитектуре каждый важный функциональный компонент изолируется,
поэтому его представление независимо от правил обработки и бизнес-логики, которая, в
свою очередь, отделена от данных. Эта модель требует большего предварительного
анализа и проектирования, но существенно сокращает стоимость сопровождения и
увеличивает функциональную гибкость при длительной эксплуатации. На следующем
рисунке показаны технологии корпорации Майкрософт, которые обслуживают различные
уровни в новой структуре системы.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Microsoft Windows Distributed interNet
Application Architecture
Корпорация Майкрософт разработала архитектуру Windows Distributed interNet
Application Architecture (Windows DNA) как способ полного объединения Интернета с
многоуровневой моделью разработки. Windows DNA определяет базовую среду для
получения решений, удовлетворяющих требованиям корпоративных вычислений,
Интернета, интрасетей, электронной торговли, при уменьшении расходов на разработку и
внедрение.
Архитектура Windows DNA использует стандартные службы среды Windows для
обращения к требованиям каждого уровня в многоуровневом решении: интерфейс
пользователя и перемещение, бизнес-логика и хранение данных. В Windows DNA
используются различные службы, объединяемые через модель компонентных объектов
(COM).








Динамический HTML (DHTML)
Active Server Pages (ASP)
Компоненты COM
Служба компонентов
Службы активных каталогов
Службы безопасности Windows®
Microsoft® Message Queuing
Компоненты доступа к данным (Microsoft)
Windows DNA построена с использованием отрытых протоколов и общих интерфейсов,
что упрощает объединение с продуктами независимых разработчиков. Кроме того,
поддерживая промышленные стандарты вычислений в Интернете, Windows DNA
облегчит разработчикам использование технологических новинок. Некоторые из
технологий, добавленных за последнее время в Windows DNA, описаны в разделе
Технологии разработки и показаны на следующем рисунке.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Архитектура Internet Information Services
IIS является составной частью архитектуры Windows DNA. Роль IIS состоит в связывании
клиентов, обращающихся к системе через протокол HTTP, с другими службами Windows
DNA, например DHTML, ASP и так далее. Кроме того, IIS включает базовый набор
возможностей, который может быть расширен разработчиками систем для определения
архитектуры настраиваемого приложения.
В этом разделе рассматриваются следующие вопросы.



Основные функциональные возможности IIS. Описание основных
функциональных возможностей, которые можно использовать для построения вебприложений.
IIS и службы компонентов. Описание функциональных возможностей,
используемых для изолирования, управления и координации обработки
приложений ASP, поддерживающих транзакции.
Обработка запросов IIS. Описание процедуры оценки, используемой для
определения типа запроса.
В этом разделе описываются основные функциональные возможности и определяется
место IIS в архитектуре Windows DNA. Также приводится общее описание обработки
запросов HTTP.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Основные функциональные возможности IIS
IIS определяет основные функциональные возможности, которые можно использовать для
построения веб-приложений. Active Server Pages (ASP) и другие технологии корпорации
Майкрософт расширили эти основные функциональные возможности, создав богатую
среду для разработки приложений. Основные возможности сервера доступны через
интерфейс программирования приложений ISAPI (Internet Server Application Programming
Interface). ISAPI подробно описан в SDK платформы Microsoft.
Основные функции, предоставляемые IIS, включают:








Установление и поддержание HTTP-соединений.
Чтение HTTP-запросов и запись HTTP-ответов.
Изменение заголовков HTTP.
Получение информации о клиентских сертификатах.
Управление асинхронными соединениями.
Сопоставление Uniform Resource Locators (URL) физическим путям.
Управление приложениями и их выполнение.
Передача файлов.
ASP расширяет функциональные возможности, предоставляя связь с архитектурой COM
и, следовательно, с другими участниками Windows DNA. Аналогично, можно расширить
архитектуру IIS, определив настраиваемый набор функций с помощью ISAPI. Связь
между основными функциональными возможностями IIS, ASP и расширениями
архитектуры показана на приведенном ниже рисунке:
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
IIS и службы компонентов
IIS и службы компонентов работают вместе для формирования базовой архитектуры для
построения веб-приложений. IIS использует функциональные возможности,
предоставляемые службами компонентов, для выполнения следующих задач.



Изолирования приложений в отдельные процессы.
Управления связью между компонентами COM (включая встроенные объекты
ASP).
Координации обработки транзакций в приложениях ASP, использующих
транзакции.
Примечание. В IIS версии 4.0 поддержку транзакций обеспечивал Microsoft Transaction
Server (MTS). В IIS 5.1 и Windows XP службы компонентов обеспечивают все
возможности поддержки транзакций, предлагаемые MTS, и, кроме того, ряд
возможностей по разработке и использованию компонентов.
IIS определяет веб-приложения как набор файлов ресурсов, которые сгруппированы в
логические пространства имен. Группировка ресурсов в приложения дает возможность
совместно использовать данные в пространстве имен и запускать приложения в
изолированных процессах.
IIS координирует изолированные приложения с помощью объекта, известного как
диспетчер веб-приложений. Этот объект включает общий интерфейс (IWAMAdmin),
который можно использовать для создания программ для администрирования вебприложений. Когда веб-приложение запускается в изолированном процессе, IIS
использует службы компонентов для координации одновременного доступа к ресурсам и
обмена информацией контекста между компонентами COM.
IIS использует объект службы компонентов ObjectContext обеспечения доступа
компонентов COM, вызванных ASP, к встроенным объектам ASP. Например, если на
Visual Basic строится компонент COM, которому нужен доступ к подчиненной форме
файла HTML, можно использовать приведенную ниже программу.
Dim objObjectContext As ObjectContext
Dim vntIn As Variant
Set objObjectContext = GetObjectContext ()
vntIn = objObjectContext.Item("Request").Form("Field1")
Службы компонентов используют ObjectContext для обслуживания сведений об
отдельном экземпляре компонента COM. Когда IIS компилирует сценарий ASP,
вызываются службы компонентов для создания ObjectContext, хранящего
трассировочную информацию о сценарии ASP. ObjectContext включает свойство, которое
однозначно идентифицирует экземпляр сценария ASP. Например, если ASP-сценарий
создает экземпляры COM-компонентов, которые регистрируются службами компонентов,
каждый из этих объектов связывается с объектом ObjectContext сценария ASP.
Аналогично, когда с использованием директивы @Transaction создается сценарий ASP,
работающий с транзакциями, служба компонентов получает уведомление, и запускается
новая транзакция. Службы компонентов в дальнейшем будут координировать обновление
всех ресурсов, находящихся под их контролем. Службы компонентов гарантируют
целостность транзакции, отслеживая все изменения в сохраненных ресурсах.
Примечание. В IIS версии 4.0 поддержку транзакций обеспечивал Microsoft Transaction
Server (MTS). В IIS 5.1 и Windows XP службы компонентов обеспечивают все
возможности поддержки транзакций, предлагаемые MTS, и, кроме того, ряд других
возможностей.
Дополнительные сведения об изолировании приложений и управлении ими см. в разделе
Задание границ приложения.
Дополнительные сведения об обработке транзакций см. в разделах Обработка транзакций,
Представление о транзакциях, и в документации служб компонентов в SDK платформы.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Обработка запросов IIS
Когда IIS получает HTTP-запрос, он оценивает URL для определения типа содержимого
запроса: статическое (HTML) или динамическое (ASP или ISAPI).
Действия по обработке запроса
Запрос
Действие
Страница HTML
IIS немедленно возвращает страницу в формате
HTML.
Расширение ISAPI
IIS загружает динамическую библиотеку ISAPI
(если она еще не запущена) и запрос передается
расширению через структуру данных
Extension_Control_Block.
Расширение имени файла,
сопоставленное с определенным
расширением ISAPI
IIS загружает файл соответствующей динамической
библиотеки и представляет запрос через структуру
данных Extension_Control_Block. Расширение .asp,
например, сопоставлено файлу Asp.dll, поэтому все
запросы на файлы с расширением .asp будут
направлены Asp.dll.
Приложение CGI
IIS создает новый процесс. IIS затем обеспечит
строку запроса и другие включаемые параметры с
помощью запроса к среде и стандартного
дескриптора ввода (STDIN) для процесса.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Проектные решения
Хотя существует богатый и постоянно расширяющийся набор средств для разработки вебприложений, основной цикл разработки во многих отношениях похож на разработку
автономных приложений. Данный раздел сосредотачивает внимание на проектных
решениях, которые характерны только для веб-приложений.
В этом разделе рассматриваются следующие вопросы.



Задание границ приложения. Описание шагов, необходимых для сборки ASPстраниц в приложение.
Управление порядком выполнения приложения. Обзор вопросов, которые должны
быть учтены при проектировании, связанных с управлением потоком в вебприложениях.
Поддержка клиентов, использующих другие языки. Сведения, связанные с
локализацией веб-узла на различные языки.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Задание границ приложения
Приложение, использующее ASP, представляет собой набор страниц ASP и компонентов
COM. При создании приложения следует с помощью оснастки «Диспетчер служб
Интернета» назначить на веб-узле исходный каталог. Каждый файл или папка,
находящиеся внутри исходного каталога приложения на веб-узле, рассматриваются как
часть приложения. Следовательно, можно использовать структуру каталогов для
формирования границ приложения, которые определяют область определения
приложения. На веб-узле может быть несколько приложений, но каждое приложение
должно быть сконфигурировано отдельно.
Одной из наиболее важных задач, с которыми сталкиваются при разработке вебприложений, является сборка ASP-страниц в одно приложение. IIS использует концепцию
пространства имен для идентификации приложений. Пространство имен является
способом связывания области памяти с легко распознаваемым именем; оно
идентифицирует группу файлов как объединенных вместе. IIS использует виртуальные
каталоги для определения пространств имен для приложений. Приведенный ниже рисунок
иллюстрирует эти понятия.
Сценарии и динамические библиотеки расширений ISAPI внутри границ приложения
образуют элемент изолирования, который всегда выполняется в одиночном серверном
процессе. Администраторы IIS могут запускать приложения в том же серверном процессе,
что и IIS; в групповом процессе (процесс, используемый по умолчанию) или приложение
может быть изолировано (запущено в изолированном процессе), что особенно полезно
при разработке и тестировании.
Дополнительные сведения об изолировании приложений и компонентов см. в разделе
Упрощение разработки с помощью изолирования процессов.
Кроме запуска приложений в одиночном процессе можно также отделить компоненты от
ASP-файлов, которые вызывают их, запуская компоненты в изолированном или
групповом процессе. Изолированный процесс является удачной конфигурацией для
отладки компонентов. Групповой процесс обеспечивает наилучшую защиту для сервера
без накладных расходов, связанных с поддержанием большого числа изолированных
процессов. Чтобы запустить компоненты в собственном процессе, необходимо создать
новое приложение и добавить компоненты к нему с помощью диспетчера служб
компонентов.
Существует пять возможных конфигураций для приложений:
1. Поместить все файлы .asp и компоненты в один процесс с IIS; эта конфигурация
обеспечивает наилучшее быстродействие.
2. Поместить все файлы .asp и компоненты в один процесс, а IIS — в другой.
3. Поместить все файлы .asp и компоненты в групповой процесс, IIS — в другой
процесс, а специальные приложения — в изолированный процесс.
4. Поместить все файлы .asp и IIS в один процесс, а компоненты — в другой.
5. Поместить все файлы .asp в один процесс, компоненты — в другой, а IIS — в
третий процесс.
Поскольку границы процесса представляют разные области памяти, вызовы между ними
заставляют IIS выполнять дополнительную работу. Механизм вызовов между границами
процессов известен как формирование параметров. Вызовы с формированием параметров
выполняются медленнее, чем вызовы внутри одного процесса. Групповые и
изолированные приложения, следовательно, не такие быстродействующие, как
приложения, использующие тот же процесс, что и IIS.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Упрощение разработки с помощью изолирования
процессов
В ранних версиях IIS все приложения ISAPI (включая ASP) совместно использовали
ресурсы и память серверного процесса. Хотя это обеспечивает высокое быстродействие,
нестабильно работающие компоненты могут вызвать сбой сервера, что недопустимо для
важных приложений, например IIS. Более того, внутренние компоненты процесса не
могут быть выгружены, пока сервер не остановлен, что означает влияние изменения
существующих компонентов на все узлы, использующие этот сервер, независимо от
непосредственно влияния обновления на них.
Благодаря тесной интеграции со службами компонентов, приложения в IIS версии 4.0 и
более поздних могут быть запущены в изолированном процессе. Для это существуют две
причины:
1. Разработка компонентов; вместо остановки всего сервера для обновления одного
компонента достаточно остановить и перезапустить одно приложение. В
предыдущих версиях IIS чтобы добавить обновленный компонент к приложению
или новое приложение, было необходимо остановить веб-службу, заменить все
старые файлы динамических библиотек в общих папках на сервере их новыми
версиями и перезапустить веб-службу. Теперь, с помощью изолированных
процессов, можно обновить производственный веб-узел без завершения работы
всех приложений.
2. Изолированность процессов, которая ограничивает эффект сбоя единственным
приложением, которое его вызвало. Кроме защиты основной веб-службы от сбоев,
приложение может быть настроено на автоматический перезапуск через
произвольный промежуток времени. В случае неустранимого сбоя приложения
процесс приложения автоматически останавливается. Поскольку приложение
выполняется в системном процессе служб компонентов, все выполнявшиеся
транзакции прерываются. Журнал событий Windows сохраняет запись о событии, а
службы компонентов перезапускают приложение. Сбой окажет влияние только на
клиентов, имевших отложенные запросы к данному конкретному приложению.
Изолированность процессов
Если приложение будет выполняться в отдельном процессе или в одиночном групповом
процессе с другими приложениями, необходимо выбрать Высокая (изолированная) или
Средняя (объединенная) из раскрывающегося списка Защита на вкладке Домашний
каталог или Виртуальный каталог. Сначала следует создать приложения для исходного
каталога приложения, если это еще не было сделано. Компоненты, которые будут
запускаться в новом процессе, должны быть установлены в соответствующем приложении
COM. Дополнительные сведения см. в документации служб компонентов.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Вопросы безопасности внешних приложений
По умолчанию внешние приложения и компоненты, включая расширения ISAPI, не могут
получить доступ к свойствам метабазы. Это ограничение сделано из соображений
безопасности, для предотвращения несанкционированных изменений в метабазе. Чтобы
позволить внешним приложениям обращаться к метабазе, необходимо выполнить одно из
следующих действий:


Предоставить учетной записи IWAM_ИмяКомпьютера доступ к метабазе (с точки
зрения безопасности системы это неудачный подход).
Изменить идентификацию внешнего приложения COM с интерактивного
пользователя (по умолчанию IUSR_ИмяКомпьютера) на определенную учетную
запись пользователя, предоставить этой учетной записи доступ к метабазе (это
также весьма рискованно, но риск ограничивается одним приложением).
Дополнительные сведения об изменении идентификации приложения см. в документации
службы компонентов в SDK платформы.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Управление порядком выполнения
приложения
Одним из первых решений при проектировании приложения является выбор модели
выполнения. В хорошо спроектированном приложении логика преобразования входных
данных в выходные с помощью модулей обработки очевидна. Архитектура COM и ASP
заменяет необходимость проектирования модулей управлением последовательностью
выполнения в архитектуре Windows DNA.
В этом разделе описаны вопросы, которые должны быть учтены при проектировании,
связанные с управлением последовательностью выполнения в веб-приложениях. В
разделе обсуждаются следующие вопросы.


Приемы управления приложением. Описание различных способов изменения
общей последовательности выполнения.
Координация обработки клиент-сервер. Описание целей проектирования при
распределении вычислений между сервером и клиентом.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Приемы управления приложением
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.1, упрощает преобразование существующих
сценариев в компоненты.
Вызов компонента может быть выполнен с помощью метода Server.CreateObject.
Дополнительные сведения о компонентах сценария см. в разделах Windows Script
Components и Использование компонентов и объектов.
Выход
В обычных условиях ASP-приложение должно выполнить все строки сценария на
странице. Однако могут возникнуть обстоятельства, при которых нужно просто закончить
обработку. Например, если установлено (с помощью метода Response.IsClientConnected),
что клиент уже не ждет ответа, возникает необходимость завершить ASP-приложение.
Выход может быть выполнен с помощью метода Response.End.
Обработка процедур
Если внутри файла .asp необходимо определить подпрограммы или функции, это можно
сделать с помощью синтаксиса процедуры, соответствующего используемому языку
написания сценариев. Например, в языке VBScript подпрограмма задается конструкцией
Sub … End Sub, а функция — синтаксической конструкцией Function … End Function. С
другой стороны, JScript поддерживает обработку процедур через вызовы функций.
Дополнительные сведения об обработке подпрограмм см. в разделе Написание процедур.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Координация обработки клиент-сервер
Веб-приложения являются распределенными по самой своей природе. По мере
увеличения вычислительных возможностей клиентов возрастает и часть вычислений,
которая может быть выполнена на стороне клиента. Распределяя часть процессов на
сторону клиента, можно повысить скорость отклика приложения. Распределение
обработки, однако, увеличивает сложность проектирования приложения.
Следует иметь в виду две цели проектирования при распределении обработки между
клиентом и сервером. Во-первых, минимизировать передачу данных по HTTPсоединению. Независимо от скорости установленного подключения, локальная обработка
всегда будет быстрее. Следует передавать информацию между клиентом и сервером,
только если это абсолютно необходимо.
Вторая цель проектирования состоит в предоставлении клиенту только тех ресурсов
сервера, которые абсолютно необходимы для выполнения задачи обработки. Каждый
запрос от клиента должен быть полным, чтобы сервер не обращался к клиенту за
дополнительной информацией, увеличивая таким образом передачу информации по
соединению HTTP. Например, если клиент полностью описывает серверу свои
возможности при передаче запроса, сервер может незамедлительно прислать ответ,
соответствующий возможностям, а не запрашивать дополнительные сведения о клиенте.
Это проектное решение может быть применено и к проектированию веб-приложений,
поддерживающих доступ к базам данных. Например, если клиент проверяет состояние
заказа, следует предоставить клиенту набор записей, описывающих только определенный
заказ, а не все записи в таблице заказов.

Кэширование данных. Введение в приемы, которые можно использовать для
минимизации передачи данных по HTTP-подключению.


Возможности клиента. Описание функциональных возможностей,
обеспечиваемых средствами проектирования, для получения полных запросов от
клиента.
Удаленная привязка данных с помощью службы удаленного доступа к данным.
Объяснение приемов, которые можно использовать для ограничений доступа
клиентов к соответствующим ресурсам данных.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Кэширование данных
Когда клиенты обращаются к ASP-странице, существует два основных способа
обеспечить их требуемой информацией:


ASP-страница может получить сведения из ресурсов сервера, например из данных,
сохраненных в базе данных, или
ASP-страница может получить сведения внутри приложения.
Извлечение данных из ресурсов вне приложения потребует дополнительных шагов
обработки и, следовательно, потребует больше времени, чем генерирование данных
внутри пространства приложения.
Если данные, которые должны быть переданы обозревателю, были подготовлены
предыдущим запросом, приложение сможет извлечь данные быстрее, если данные
хранятся в кэше. Эта форма кэширования называется выходным кэшированием. Выходное
кэширование особенно удобно, если ожидается передача одних и тех же данных в том же
самом формате для множества разных запросов. Например, одной из задач, часто
встречающихся при разработке входной формы, является получение сохраненных данных
в виде элементов поля с раскрывающимся списком. Предпочтительно заносить записи
непосредственно в страницу HTML, поскольку обновление сохраненных данных будет
автоматически отображаться на форме.
Приведенный ниже сценарий представляет пример выходного кэширования. В этом
примере функция getSportsListBox создает поле со списком из сохраненных данных.
Поле со списком добавляется к пространству приложения, чтобы клиенты могли быстрее
получить доступ к нему, чем если бы они заполняли список по индивидуально. В этом
примере предполагается, что имя источника данных (DSN) «Sports» определено на
сервере.
<%@ LANGUAGE=JavaScript %><HTML><BODY>
<FORM METHOD=post>
Какой вид спорта является вашим любимым? <%= getSportsListBox() %>
<P>
<INPUT TYPE=submit>
</FORM>
</BODY>
</HTML>
<%
function getSportsListBox()
{
SportsListBox = Application("SportsListBox")
If (SportsListBox != null) return SportsListBox;
crlf = String.fromCharCode(13, 10)
SportsListBox = "<select name=Sports>" + crlf;
SQL = "SELECT SportName FROM Sports ORDER BY SportName";
cnnSports = Server.CreateObject("ADODB.Connection");
cnnSports.Open("Sports", "WebUser", "WebPassword");
rstSports = cnnSports.Execute(SQL);
fldSportName = rstSports("SportName");
While (!rstSports.EOF)
{
SportsListBox = SportsListBox + " <option>" +
fldSportName +
"</option>" + crlf;
rstSports.MoveNext(); }
SportsListBox = SportsListBox + "</select>"
Application("SportsListBox") = SportsListBox
return SportsListBox;
}
%>
При некоторых обстоятельствах приложение будет получать много различных запросов к
одним и тем же данным, но будет необходимо изменять представление данных для
каждого запроса. В этом случае используется входное кэширование. С помощью входного
кэширования сохраняются данные, но не их представление. Это может быть выполнено
кэшированием данных с помощью объекта Dictionary, предоставляемого VBScript, или с
помощью набора записей ADO.
Приведенный ниже пример демонстрирует кэширование данных, добавляя набор записей,
не требующий подключения, к приложению. ASP-сценарии в пространстве приложения
могут затем получить доступ к набору записей, а не извлекать данные из базы данных.
Приведенные ниже два ASP-сценария демонстрируют этот прием.
Выдержка из Global.asa:
<OBJECT ID=rsCustomers PROGID="ADODB.Recordset" RUNAT="Server"
SCOPE="Application">
</OBJECT><!--METADATA TYPE="TypeLib" FILE = "C:\Program Files\Common
Files\system\ado\msado15.dll"
-->
<% SQL = "SELECT CompanyName, City FROM Customers" Cnn = "DSN=AdvWorks"
rsCustomers.CursorLocation = adUseClient rsCustomers.Open SQL, Cnn,
adOpenStatic, AdLockReadOnly rsCustomers.ActiveConnection = Nothing
Set myCustomers = Application("rsCustomers").Clone Set CompanyName =
myCustomers("CompanyName") Set City
= myCustomers("City")
Do Until myCustomers.EOF%><B><%= CompanyName %></B> находится в <B><%= City
%></B>.<P>
<%
myCustomers.MoveNext
Loop
%>
Файл Global.asa приложения создает набор записей и добавляет его к пространству
приложения. ASP-сценарий затем заполняет набор записей, делает его не требующим
подключения, установив свойство ActiveConnection в Nothing. Затем ASP-сценарий
размножает это набор записей и перебирает его значения, что происходит быстрее
доступа к базе данных. Этот прием применим, если известно, что данные, которыми будет
наполняться набор записей, относительно постоянны.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Возможности клиента
Одно из наиболее важных проектных решений состоит в обработке приложением
различных возможностей клиентов. Например, для пользователей наиболее важным
вопросом является скорость подключения. Если приложение может определить эту
скорость, можно подобрать ответ, чтобы он совпадал с этой пропускной способностью.
Единственный способ для приложения узнать текущую скорость соединения состоит во
включении клиентом этих сведений в запрос.
Проблема возможностей клиента может решаться на стороне клиента или на стороне
сервера. Решение на стороне клиента связано с использованием динамического HTML
(DHTML) для включения текущей конфигурации клиента частью запроса, как изображено
на приведенном ниже рисунке.
Преимущества данного подхода состоят в:



Уменьшении передачи данных между клиентом и сервером.
Уменьшении загрузки сервера.
Улучшении скорости отклика приложения благодаря технологии кэширования
прокси-сервера.
Существует ряд ситуаций, когда написание сценариев на стороне клиента невозможно.
Например, приложения, представленные в Интернете, не могут гарантировать поддержку
клиентом сценариев, что означает возможность сбоя приложений для некоторых
клиентов. Кроме того, ресурсы сервера могут быть недоступны со стороны клиента,
поскольку клиент может находиться в сети, в которой сценарии запрещены из
соображений безопасности.
Серверный подход связан с компонентом Browser Capabilities. Этот компонент считывает
HTTP-заголовок «User Agent», включенный в запрос, для определения возможностей
клиента. Версия компонента Browser Capabilities, поставляемая с IIS 3.0 и 4.0, определяя
возможности клиента, находя их в статическом списке. Приведенный ниже рисунок
показывает последовательность событий.
Этот подход порождает трудности для проектировщика приложения, когда список
устаревает. Более важно, что этот прием не учитывает конфигурируемые аспекты
возможностей клиента и не предоставляет параметры, которые были включены во время
выполнения запроса.
В IIS версии 5.0 компонент Browser Capabilities был улучшен для преодоления этих
ограничений проектирования. Теперь он может быть изменен для отдельного запроса
клиента, возвращающего модуль настройки, описывающий его возможности. Кроме того,
если первоначальный запрос к файлу .asp не включает модуль настройки, можно
вернуться к сценарию, который будет выполняться на клиенте, для создания модуля
настройки. Приведенный ниже рисунок показывает последовательность событий.
Это улучшение компонента Browser Capabilities создает другую альтернативу серверному
решению. Этот прием использует специальный код состояния для возврата к клиенту,
если пришедший запрос не включал модуля настройки. Этот код состояния можно
сгенерировать, поместив специальный метатег в первой строке файла .asp. Например:
<!-- METADATA TYPE="Cookie" NAME="BrowsCap" SRC="sendcook.htm" -->
указывает IIS послать специальный код состояния —код состояния HTTP 449 —
обозревателю Internet Explorer 5; затем указывает Internet Explorer 5 запустить сценарий в
файле Sendcook.htm, который сгенерирует модуль настройки, описывающий возможности
клиента. Когда сервер получает модуль настройки, он будет использовать его вместе с
компонентом Browser Capabilities для определения способа передачи ответа пользователю.
Важно! Если метатег METADATA существует в файле, запрошенном клиентом, в
результате перенаправления с помощью методов Server.Transfer или Server.Execute, IIS
проигнорирует этот тег. Теги METADATA в файле, который действительно содержит
перенаправление, однако, будут обработаны нормально.
Более подробные сведения об использовании этой возможности см. в разделе Получение
сведений о поддерживаемых обозревателем возможностях с помощью модуля настройки
клиента («cookie»).
Дополнительные сведения о возможностях клиента DHTML см. в справочнике DHTML на
веб-узле MSDN Online. Примеры новых функциональных возможностей компонента
Client Capabilities см. под заголовком Примеры ASP в разделе IIS пакета SDK или на вебузле MSDN Online - Internet Information Services.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Поддержка клиентов, использующих
другие языки
Одно из преимуществ распространения информации через Интернет или интрасеть
состоит в том, что можно создавать международные веб-узлы, к которым могли бы
обращаться пользователи из разных стран и регионов. Пользователи могут запрашивать
страницы, переведенные на их язык, и просматривать их в локализованных версиях
обозревателей.
Когда создается веб-узел, содержащий страницы на разных языках, необходимо
преобразовать строки, передаваемые между обозревателем и веб-сервером или между
ASP-сценарием и компонентом COM. Если все страницы на веб-узле написаны в наборе
символов, используемом сервером по умолчанию, ASP производит преобразование
автоматически. Если страницы пишутся в разных наборах символов для обозревателей,
поддерживающих разных языки, необходимо использовать команды ASP, указывающие
способ преобразования строк. Например, если узел содержит некоторые страницы в одном
из японских наборов символов, а другие — в одном из китайских наборов символов,
необходимо указать набор символов, который будет использован ASP для обработки
строк на конкретной странице.
ASP также предлагает команды, которые поддерживают соглашения, принятые в
различных местностях, например форматы, используемые для денежных единиц, времени,
дат и чисел. Как и для команд преобразования строк, необходимо использовать команды,
связанные с местностью, если сценарии не используют обозначение местности, заданное
для веб-сервера и обозревателя по умолчанию.
Существует много сценариев структуры международных веб-узлов. После отбора
вариантов, исходя из конкретных финансов и времени, можно остановиться на решении,
объединяющем несколько сценариев. Далее представлены три возможных сценария.
Первый сценарий - перевод каждой веб-страницы
Это будет не самым экономичным решением, поскольку за перевод каждой веб-страницы
нужно платить. Однако, сервер будет обрабатывать запросы быстрее, чем в других
сценариях, особенно если на веб-узле преобладают статические страницы.
1. Для каждого поддерживаемого языка создайте подпапку для хранения
переведенных веб-страниц.
2. В ASP-файле в корневой папке определите поддерживаемые языки обозревателя и
перенаправьте переведенные веб-страницы в соответствующую подпапку. Если ни
один из языков обозревателя не поддерживается, предоставьте ссылки на
начальные страницы, чтобы посетитель мог сам выбрать подходящий язык. Для
определения поддерживаемых обозревателем языков используйте переменную
Request.ServerVariables("HTTP_ACCEPT_LANGUAGE").
3. Динамически устанавливайте языковые параметры, поскольку для некоторых
языков существует несколько наборов параметров. Например, кодовая страница
английского языка – 1252, но коды языка (LCID) разные: 2057 для Британии, 1033
для США и 4105 для Канады.
Второй сценарий - перевод сегментов текста, хранящихся в базе данных
Если веб-узел небольшой или его содержание часто меняется, можно хранить все
сегменты текста в базе данных, индексированной по кодовой странице сегмента. SQL
обрабатывает строки в различных кодовых страницах. Access обрабатывает строки в
кодировке Юникод; эти строки можно выводить с помощью метода Response.BinaryWrite.
Для перевода сегментов текста, хранящихся в базе данных, переводчику необходимо
работать с одним файлом. Поскольку вызовы базы данных являются простыми запросами,
скорость обработки страниц уменьшается незначительно.
1. В каждом ASP-файле определите языки, поддерживаемые обозревателем, и
вставьте из базы данных сегменты текста, переведенные на соответствующий язык.
Для определения поддерживаемых обозревателем языков используйте переменную
Request.ServerVariables("HTTP_ACCEPT_LANGUAGE").
2. Динамически устанавливайте языковые параметры, поскольку для некоторых
языков существует несколько наборов параметров. Например, см. шаг 3 в первом
сценарии.
Третий сценарий - использование средства перевода
Поскольку средством перевода могут поддерживаться не все языки, а в переводах могут
быть некоторые неточности, обязательно следует вычитать все переведенные страницы.

Подпишитесь на услуги веб-службы, осуществляющей полный перевод всех вебстраниц узла, сохраняя все рисунки и форматирование на страницах. Alta Vista
предоставляет загружаемое средство перевода документов, а также интерактивный
перевод отправленных веб-страниц.
После выпуска IIS 5.0 в составе Windows 2000 произошли некоторые изменения.
Поддержка UTF-8 расширена на все многобайтовые знаки, включая замещающие знаки,
как, например, для японского языка. Внутренние объекты IIS способны хранить и
извлекать строки в различных кодовых страницах. Например, данные формы и
переменные сервера могут содержать строки, закодированные с использованием
кодировки, отличающейся от используемой по умолчанию веб-сервером.
Устанавливаемые компоненты IIS, такие как Ad Rotator и Content Rotator, также
поддерживают работу с локализованными знаками. И, наконец, имеются два новых
свойства Response, называемых CodePage и LCID, и новое свойство метабазы AspLCID,
изменяющие иерархию установки кодовых страниц и языков на веб-странице.
Дополнительные сведения см. в следующих разделах.



Установка кодовой страницы для преобразования строк. Включает пример
программы для преобразования строк, используемой ASP.
Установка идентификатора языка. Описание изменения формата, используемого
для валюты, времени и даты.
Статьи и примеры по глобализации и локализации см. на веб-узле TechNet.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Установка кодовой страницы для преобразования строк
Кодовая страница представляет собой внутреннюю таблицу, которую операционная
система использует для сопоставления символов (буквы, цифры и знаки пунктуации) с
кодами символов. Разные кодовые страницы обеспечивают поддержку наборов символов,
используемых в разных странах. Кодовые страницы указываются номером; например,
кодовая страница 932 представляет японский набор символов, а кодовая страница 950 —
один из китайских наборов символов.
ASP и поддерживаемые обработчики сценариев используют внутри себя Юникод, 16разрядный стандарт перекодировки символов фиксированной ширины. Если все страницы
написаны в кодовой странице, используемой сервером по умолчанию, ASP автоматически
преобразует строки. Если сценарий был создан не в кодовой странице, используемой
сервером или веб-обозревателем по умолчанию, необходимо указать кодовую страницу,
чтобы строки при передаче преобразовывались правильно.



Между сценарием и обработчиком ASP.
Между обработчиком ASP и обозревателем.
Между обработчиком ASP и компонентами COM.
Чтобы задать кодовую страницу для ASP-страницы, используйте свойство метабазы
AspCodePage, директиву @CODEPAGE, свойство Session.CodePage или
Response.CodePage. Например, чтобы задать кодовую страницу для японского языка,
присвойте свойству AspCodePage приложения значение 932 одной из следующих команд.
<%@ CODEPAGE = 932 %>
<% Session.CodePage = 932 %>
<% Response.CodePage = 932 %>
Помните, что файл ASP-страницы должна быть сохранен в формате, соответствующем
директиве @CodePage. Например, если задана директива @CodePage с аргументом 65001,
файл веб-страницы должен быть сохранен в формате UTF-8. Если задана директива
@CodePage с аргументом 932, файл веб-страницы должен быть сохранен в формате ANSI
в системе с используемым по умолчанию японским языком.
При обработке ASP содержимого и сценариев на этой странице указанная кодовая
страница используется для преобразования из набора символов сценария в Юникод.
Например, значение, указывающее на букву «a» в ANSI, будет преобразовано в другое
значение, указывающее на букву «a» в кодировке Юникод.
При выполнении сценария способ кодирования знаков определяется командой
Response.CodePage. Если свойство Response.CodePage не задано явно на веб-странице, оно
задается неявно в следующей иерархии:




если используется объект Session и явно задано свойство Session.CodePage, в
свойстве Response.CodePage используется значение Session.CodePage; в противном
случае
если в начале страницы задана директива @CodePage, в свойстве
Response.CodePage используется значение @CodePage; в противном случае
если для приложения задано свойство метабазы AspCodePage и его значение
отличается от 0, в свойстве Response.CodePage используется значение
AspCodePage; в противном случае
в свойстве Response.CodePage используется значение используемой по умолчанию
системной кодовой страницы веб-сервера.
Для каждой веб-страницы может быть задана только одна кодовая страница. Если
используется директива @CodePage и один из других методов, убедитесь, что они
выбирают одну и ту же кодовую страницу, либо один из методов выбирает UTF-8.
Значение директивы @CodePage влияет на явно заданные строки, а другие методы влияют
на строковые переменные, поэтому если будут смешаны две несовместимые кодовые
страницы, текст в обозревателе будет отображаться неправильно.
Когда ASP отправляет веб-страницу обозревателю, обозревателю требуется знать, какую
кодовую страницу следует использовать для правильного отображения страницы, а на
компьютере должен быть установлен языковый пакет, соответствующий этой кодовой
странице. Чтобы задать набор знаков, используйте одну из следующих команд.
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=windows-1251">
<% Response.Charset = "windows-1252"
Если кодовая страница временно изменяется для фрагмента сценария, проверьте,
изменяется ли она затем обратно. Приведенный ниже сценарий показывает временное
изменение кодовой страницы.
<%@ CodePage = 65001 %>
<!-- Это моя домашняя страница в кодировке UTF-8 -->
<%
Response.Write "Кодовая страница Session: " & Session.CodePage & "<BR>"
Response.CodePage = 932
Response.Write "Кодовая страница этой веб-страницы сменена с помощью
Response.CodePage<BR>"
Response.Write "Кодовая страница Response: " & Response.CodePage & "<BR>"
Response.Write "Возвращено значение кодовой страницы Session: " &
Session.CodePage & "<BR>"
%>
Дополнительные примеры и сведения см. в документации по командам AspCodePage,
@CodePage, Session.CodePage, Response.CodePage и Response.Charset.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Установка идентификатора языка
Параметры языка — это набор сведений о предпочтениях пользователя, связанных с
языком пользователя. Они определяют способ форматирования даты и времени, порядок
алфавитной сортировки и способ сравнения строк. Идентификатор языка (LCID)
представляет собой 32-разрядное значение, которое однозначно определяет язык. ASP
использует язык, используемый веб-сервером по умолчанию, если для отдельного
сценария не указан другой язык.
Для указания языка ASP-страницы служит свойство метабазы AspLCID, директива
@LCID, свойство Session.LCID или свойство Response.LCID. Например, чтобы задать
идентификатор для японского языка, присвойте свойству AspLCID приложения значение
1041 одной из следующих команд.
<%@ LCID = 1041 %>
<% Session.LCID = 1041 %>
<% Response.LCID = 1041 %>
Помните, что кодовая страница должна быть задана для возможности отображения
локализованных знаков, являющихся результатами вызовов функций, например,
FormatCurrency и FormatDateTime в VBScript. Например, если свойству Response.LCID для
японского языка присвоено значение 1041, для правильного отображения названий
месяцев и дней в вызове FormatDateTime(Date, 1) свойству Response.CodePage должно
быть присвоено значение 932.
При выполнении сценария способ кодирования знаков определяется командой
Response.LCID. Если свойство Response.LCID не задано явно на веб-странице, оно
задается неявно в следующей иерархии:




если используется объект Session и явно задано свойство Session.LCID, в свойстве
Response.LCID используется значение Session.LCID; в противном случае
если в начале страницы задана директива @LCID, в свойстве Response.LCID
используется значение @LCID; в противном случае
если для приложения задано свойство метабазы AspLCID и его значение
отличается от 0, в свойстве Response.LCID используется значение AspLCID; в
противном случае
в свойстве Response.LCID используется значение используемого по умолчанию
системного языка веб-сервера.
При установки языка одним из этих способов также устанавливается язык для
обработчика сценариев; однако при установке языка для обработчика сценариев функцией
VBScript setLocale язык для ASP не устанавливается.
Если на веб-странице язык устанавливается несколько раз, необходимо установить для
этой веб-страницы кодовую страницу 65001 для кодировки UTF-8 и присвоить свойству
Response.Charset значение «utf-8», чтобы все локализованные знаки отображались
правильно.
Следующий пример также включен в описание свойства Response.LCID.
<%
Response.Codepage = 65001
Response.Charset = "utf-8"
' Посмотрите, что получится, если убрать значки комментариев в следующих
строках.
'Response.Codepage = 1252
'Response.Charset = "windows-1252"
ShowDateTimeCurrency
ShowDateTimeCurrency
ShowDateTimeCurrency
ShowDateTimeCurrency
ShowDateTimeCurrency
ShowDateTimeCurrency
ShowDateTimeCurrency
ShowDateTimeCurrency
1033,
1041,
1049,
1031,
1025,
1081,
2052,
1042,
"North America"
"Japan"
"Russia"
"Germany"
"Saudi Arabia"
"India"
"China"
"Korea"
Sub ShowDateTimeCurrency(iLCID, sLocale)
Response.LCID = iLCID
Response.Write "<B>" & sLocale & "</B><BR>"
Response.Write FormatDateTime(Date, 1) & "<BR>"
Response.Write FormatDateTime(Time, 3) & "<BR>"
Response.Write FormatCurrency(1000) & "<BR>"
Response.Write FormatNumber(50, 3, 0, 0, -1) & " & " & FormatNumber(.02, 3,
0, 0, -1) & "<BR><BR>"
End Sub
%>
Дополнительные примеры и сведения см. в документации по командам AspLCID, @LCID,
Session.LCID, Response.LCID, Response.Charset и в пункте «International Features» раздела
«Windows Base Services»SDK платформы.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Доступ к данным с помощью ASP
ASP предлагает веб-разработчикам гибкие, простые в использовании, масштабируемые
методы взаимодействия с поставщиками баз данных OLE DB для приложений Интернета
и интрасетей. Использование ASP и Microsoft Data Access Components (MDAC) означает
не только то, что можно разрабатывать решения с помощью Microsoft Access и переходить
на Microsoft SQL Server 6.5, но и возможность получения к любой базе данных, имеющих
поставщиков OLE DB. С помощью дополнительных возможностей служб компонентов
можно создать масштабируемое многоуровневое приложение, поддерживающее вебтранзакции.
В этом разделе рассматриваются следующие вопросы.


Обзор ADO. Краткий обзор ActiveX® Data Objects.
Удаленная привязка данных с помощью службы удаленного доступа к данным.
Введение в службы удаленного доступа данных и привязка данных на стороне
клиента.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Обзор ADO
ActiveX® Data Objects (ADO) предлагает общую модель программирования для любого
источника данных OLE DB; представляет собой семейство объектов, предоставляющих
атрибуты и методы, используемые для соединения с источником данных. ADO использует
общих поставщиков OLE DB для получения доступа к уникальным свойствам
определенных источников данных; используются также исходные поставщики OLE DB,
включая отдельного поставщика OLE DB, который обеспечивает доступ к драйверам Open
Database Connectivity (ODBC). Разработанный для удовлетворения потребностей во всех
методах высокого уровня доступа к данным, ADO может обращаться к реляционным,
индексно-последовательным (ISAM) и иерархическим базам данных или любому типу
источника данных, если для него есть ODBC-совместимый драйвер.
Простота использования, скорость и низкие затраты памяти делают ADO идеальным для
написания сценариев на стороне сервера. Фактически, ADO является рекомендованной
технологией доступа к данным для ASP-приложений. ADO можно вызвать
непосредственно из сценария на стороне сервера или из компонентов, реализующих
бизнес-логику.
В отличие от более ранних методов доступа к данным, для создания объектов ADO не
требует перемещения по иерархии; большинство объектов ADO может быть создано
независимо, что обеспечивает большую гибкость при повторном использовании объектов
в разных контекстах и уменьшает затраты памяти. ADO также использует преимущества
группировки соединений в ODBC 3.0 для источников данных ODBC и группировки сеанса
для поставщиков OLE DB. Такой подход исключает необходимость последовательного
создания объектов Connection для каждого пользователя, а этот процесс весьма
интенсивно расходует ресурсы.
Однако ADO не может предоставлять данные клиенту через удаленный доступ. После
того, как данные извлечены и переданы обозревателю, пользователь не может
манипулировать ими или вносить изменения из клиентского приложения. Операции с
данными, включая фильтрование и изменение записей, должны производиться на сервере,
где размещаются объекты манипулирования данными. Если требования к проекту
приложения включают манипулирование данными клиентом, см. раздел Удаленная
привязка данных с помощью службы удаленного доступа к данным.
OLE DB, основа универсальной модели доступа к данным, представляет собой набор
интерфейсов COM, которые обеспечивают стандартный способ доступа программ к
данным. Способ использования приложением функциональных возможностей ADO
частично определяется наличием поставщика OLE DB для данных. ADO разработан для
работы с OLE DB, и в большинстве случаев компоненты ADO будут взаимодействовать с
базами данных через OLE DB; также, если поставщик OLE DB не доступен, можно
использовать ADO для непосредственного соединения с помощью драйвера ODBC.
Использование ADO через поставщика OLE DB влияет на следующие вопросы:


Использование сохраненных процедур с помощью ADO. Описание нескольких
ключевых вопросов, требующих рассмотрения при использовании сохраненных
процедур.
Выбор сетевой библиотеки клиента для ADO. Обсуждение вопросов, связанных с
выбором сетевой библиотеки, и описание влияния выбора библиотеки на скорость
доступа к базе данных.
Дополнительные сведения об ADO см. в документации ADO SDK в SDK платформы.
Сведения о быстродействии см. в разделе Быстродействие доступа к данным. Примеры
использования ADO см. под заголовком Примеры ASP в разделе IIS пакета SDK или на
веб-узле MSDN Online - Internet Information Services.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Использование хранимых процедур с помощью ADO
Хранимая процедура представляет собой откомпилированное заранее семейство
инструкций SQL и необязательных инструкций управления порядком выполнения,
хранимое под указанным именем и обрабатываемое как единое целое. Создание хранимых
процедур со включенной группировкой соединений может явиться предметом отдельного
рассмотрения. Например, создание временных хранимых процедур для подготовленных
инструкций SQL является возможностью, настраиваемой из администратора источников
данных ODBC. По умолчанию для драйверов SQL Server 2.65 и 3.5 используется значение
«On», что означает создание и компиляцию временной хранимой процедуры при
подготовке инструкций SQL. Когда подготовленная команда вызывается одним из
методов ADO, выполняется временная хранимая процедура; такой подход экономит
накладные расходы на разбор и компиляцию инструкции SQL. Правильное использование
этой возможности позволяет увеличить быстродействие приложения. Если инструкция
SQL будет выполняться более двух раз или будет выполняться более одного раза, но
содержит параметры, инструкцию следует подготавливать. Помните: чтобы подготовить
инструкцию, при первом запуске она должна быть скомпилирована; результаты
подготовки инструкции теряются при отключении от базы данных.
Если разрешена группировка соединений, необходимо решить, когда следует удалять
временную хранимую процедуру. При работе с драйвером SQL Server 2.65 хранимые
процедуры будут освобождены при освобождении подключения. При работе с драйвером
SQL Server 3.5 есть возможность удаления их или при освобождении подключения, или в
подходящий момент в подключенном состоянии.
С временными хранимыми процедурами и группировкой подключений могут быть
связаны проблемы с памятью. Если используются установки по умолчанию, существует
риск входа за границы памяти в TempDB, где создаются и хранятся временные хранимые
процедуры. Если разрешено группирование подключений, выполняется подключение к
базе данных, но когда клиент завершает работу с ним и освобождает его, подключение
возвращается в группу. Подключение не освобождается и хранимая процедура не
удаляется из TempDB, даже если они не связаны с клиентом и никогда не будут вызваны.
Таким образом, при работе с драйвером SQL Server 2.65 можно посоветовать запретить
создание временных хранимых процедур при подготовке, если разрешена группировка
подключений. Для драйвера SQL Server 3.5 возможность создания временных хранимых
процедур должна быть запрещена или установлена в значение «disconnect and as
appropriate» при включенной группировке подключений. Установка этого параметра в
значение «disconnect and as appropriate» свидетельствует о том, что ODBC-драйвер SQL
Server прервет подключение, когда объект OLE DB Icommand, создавший временную
хранимую процедуру, будет освобожден. Если программа клиента использует ADO,
хранимая процедура будет освобождена при закрытии объектов ADODB.Recordset и
ICommand.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Выбор сетевой библиотеки клиента для ADO
Когда ADO связывается с базой данных, работа происходит через сетевую библиотеку.
Выбор сетевой библиотеки определяется поставщиком данных и конфигурацией системы,
он может оказать существенное влияние на скорость доступа к базе данных. Например,
если обращаются к данным из базы данных Microsoft SQL Server, скорость доступа, в
общем случае, будет выше, если использовать сетевую библиотеку TCP/IP. Однако если
SQL Server запущен на том же компьютере, что и IIS, можно улучшить быстродействие,
используя сетевую библиотеку Named Pipes (именованные каналы).
Сетевая библиотека для источника данных может быть установлена с помощью параметра
Data Sources (ODBC) на панели управления. Установленная сетевая библиотека для
одного подключения становится библиотекой, используемой по умолчанию, для всех
последующих подключений и для любого подключения без источника данных, которые
может использовать приложение.
Примечание. Если сетевая библиотека изменена с Named Pipes на TCP/IP, проверьте,
что Named Pipes присутствует как одна из возможностей, поскольку SQL Server Enterprise
Manager требует этой библиотеки.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Удаленная привязка данных с помощью
службы удаленного доступа к данным
Если веб-приложение обеспечивает клиентов возможностью доступа к данным, можно
распределить обработку данных между клиентом и сервером с помощью службы
удаленного доступа к данным (RDS). Компоненты RDS на стороне клиента направляют
запросы к веб-серверу. Компоненты RDS на стороне сервера обрабатывают эти запросы и
оправляют их системе управления базой данных (DBMS) с помощью объектов деловых
приложений. DBMS отвечает на запрос, передавая данные на веб-сервер. Компоненты
RDS на веб-сервере преобразуют данные в объект ADO Recordset. Производится разбор
данных для передачи по сети на компьютер клиента, где они могут быть отображены
элементами управления, определяемыми данными, например полем или полем с
раскрывающимся списком.
Два основных объекта, которые будут использоваться для выполнения удаленной
привязки — это RDS.DataControl и RDS.DataFactory. Сначала создайте копию объекта
RDS.DataControl на компьютере клиента, вставив тег объекта на страницу HTML.
Например:
<OBJECT CLASSID="clsid:BD96C556-65A3-11D0-983A-00C04FC29E33" ID="RDSDC1">
<PARAM NAME="SQL" VALUE="SELECT Author, ID FROM Authors">
<PARAM NAME="CONNECT" VALUE="DSN=Pubs;">
<PARAM NAME="SERVER" VALUE=http://Bookweb/>
</OBJECT>
Приведенный выше тег объекта создает экземпляр объекта RDS.DataControl и
устанавливает для него параметры SQL, Connect и Server. Если этот тег добавлен на
страницу HTML, можно затем привязать объект управления данными к нескольким
элементам управления, определяемым данными, на странице HTML. Например,
приведенные ниже теги отображают таблицу, привязанную к объекту RDS.DataControl,
описанному выше.
<TABLE id=Tasks DataSrc=#RDSDC1 WIDTH=100% BORDER=1 style="display: none">
<THEAD ALIGN=left>
<TR>
<TH><em>Код</TH>
<TH><em>Автор</TH>
</TR>
</THEAD>
<TR>
<TD><DIV DATAFLD=ID></DIV></TD>
<TD><DIV DATAFLD=Author></DIV></TD>
</TR>
</TABLE>
С объектом RDS.DataControl связывается находящийся на сервере объект
RDS.DataFactory, или компонент, реализующий бизнес-логику. Экземпляр объекта
RDS.DataFactory может быть создан при первом создании на компьютере клиента
объекта RDS.DataSpace, который затем с помощью метода CreateObject создает
экземпляр объекта DataFactory на сервере. Данный процесс иллюстрируется сценарием в
приведенном ниже примере.
Если доступ к данным должен обслуживаться объектом RDS.DataFactory, можно или
создать специальный компонент, реализующий бизнес-логику, для связи с клиентом, или
использовать непосредственно ADO из сценария для извлечения данных. В приведенном
ниже примере специальный компонент Inventory предоставляет метод
getQuantityonHand. Объект RDS.DataControl создает экземпляр Inventory на сервере и
затем для извлечения записей вызывает метод getQuantityonHand.
<HTML>
<HEAD>
</HEAD>
<BODY>
<!-- RDS.DataControl -->
<OBJECT classid="clsid:BD96C556-65A3-11D0-983A-00C04FC29E33"
ID=ADC1></OBJECT>
<!-- RDS.DataSpace -->
<OBJECT ID="ADS1" WIDTH=1 HEIGHT=1 CLASSID="CLSID:BD96C556-65A3-11D0-983A00C04FC29E36">
</OBJECT>
<SCRIPT LANGUAGE="VBScript">
Option Explicit
Sub GetRecords()
Dim objInventory, myRS
Set objInventory =
ADS1.CreateObject("Company.Inventory", _
"http://<%=Request.ServerVariables("SERVER_NAME")%>")
' Inventory вызывает метод
' getQuantityonHand, использующий строку подключения и параметры SQL.
Set myRS = objInventory.getQuantityonHand _
("DSN=pubs;UID=sa;PWD=permission;","Select Quantity From Inventory")
' Присвоение возвращенного набора записей SourceRecordset.
ADC1.SourceRecordset = myRS
End Sub
</SCRIPT>
</BODY>
</HTML>
Те же вопросы, что и описанные в разделе Component Design Guidelines в документации
IIS в SDK платформы, относятся и к любому специальному компоненту, создаваемому
для взаимодействия с RDS.DataControl. Например, следует гарантировать, что компонент
поддерживает или двойную (Both), или замкнутую (Apartment) модель потоков.
Примечание. Remote Data Service (RDS) заменяет Advanced Data Connector (ADC),
который считается устаревшим. В частности, функциональные возможности ADC по
удаленной обработке (возможность манипулирования и изменения наборов записей на
компьютере клиента) были встроены в ADO как часть RDS.
Дополнительные сведения содержатся в разделе пакета SDK платформы, описывающем
службу удаленного доступа к данным.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Обработка транзакций
Обработка транзакций — это подход к разработке приложений, при котором вся
обработка делится на отдельные единицы, называемые транзакциями. Интеграция IIS и
служб компонентов упростила создание веб-приложений, поддерживающих обработку
транзакций. Если разрабатывается веб-приложение, необходимо принять несколько
основных проектных решений. В этом разделе рассматриваются основные вопросы
проектирования, а также технология, лежащая в основе транзакций ASP.
В этом разделе рассматриваются следующие вопросы.


Проектирование веб-приложений, использующих транзакции. Описание
проектных требований к веб-приложениям, использующим транзакции.
Технология обработки транзакций. Сведения о службе компонентов и службе
очереди сообщений (MQS).
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Проектирование веб-приложений,
использующих транзакции
Одним из наиболее важных понятия проектирования для веб-приложений, использующих
транзакции, является различие между бизнес-процессами и физическими транзакциями.
Бизнес-процессы представляют собой ежедневные процессы, происходящие в
большинстве организаций, например обработка заказов на продажу. Физическая
транзакция соответствует фактическому обновлению ресурсов, используемых для записи
бизнес-процесса. Бизнес-процесс обычно состоит из нескольких физических транзакций.
Например, при обработке заказа на продажу можно выделить по крайней мере три шага,
которые нужно выполнить:



Проверить доступность товара.
Получить платеж.
Передать заказ.
В зависимости от структуры системы, каждый из этих шагов может быть представлен
одной или несколькими физическими транзакциями.
То, что Интернет не требует подключений, приводит к разбиению шагов на отдельные
физические транзакции. Когда начинается физическая транзакция, предотвращается
обновление другими пользователями ресурсов, участвующих в транзакции, пока
транзакция не будет завершена. Представим что произойдет, если весь процесс обработки
заказа на продажу объединен в одну физическую транзакцию. Пользователь может начать
транзакцию, указывая интересующее изделие. При этом блокируется учетная запись
покупателя и изделие становится недоступным в базе данных склада. Покупатель может
затем заняться другим делом, оставив обозреватель работающим, но не завершив покупку.
Поскольку весь заказ рассматривается как одна физическая транзакция, все ресурсы
блокируются до того момента, когда либо покупатель передаст заказ, либо система удалит
заказ согласно бизнес-правилу. Такая структура неприменима для системы обработки
транзакций, представленной в Интернете.
Проектные требования к веб-приложениям, использующим транзакции, почти всегда
будут представлены в терминах бизнес-процессов. Следовательно, важно использовать
некоторые приемы проектирования, разбивающие бизнес-процессы на физические
транзакции. Один из важных приемов состоит в ограничении физической транзакции
одним файлом .asp.
Примечание. Бизнес-процессы могут охватывать несколько файлов .asp, но физические
транзакции — не должны.
Другой прием проектирования состоит в использовании кодов состояния внутри ресурсов
транзакции для индикации состояния (ожидание или завершение) транзакции. Включение
кодов состояния позволяет резервировать ресурс без фактического освобождения. Когда
бизнес-процесс завершается, можно запустить другую физическую транзакцию, которая
освободит все связанные ресурсы, изменив их код состояния. На примере компании «The
Crawford & Sons Bicycle Company» показано, как эти два принципа влияют на реализацию
веб-приложений, использующих транзакции.
Веб-приложение «The Crawford & Sons»
Велосипедная компания Crawford & Sons является производителем собранных вручную
велосипедов, которые она распространяет в Северной Америке. Компания решила начать
принимать заказы на велосипеды собственного производства через веб-приложение. Для
хранения записей о покупателях и сведений о состоянии склада используется Microsoft ®
SQL Server. Кроме того, разработаны компоненты, работающие с данными и
реализующие бизнес-логику. Эти компоненты зарегистрированы с помощью службы
компонентов. Теперь необходимо разработать файлы .asp, которые позволяли бы
покупателям обращаться к этим компонентам внутри одного бизнес-процесса.
Приведенный ниже рисунок иллюстрирует отдельные физические транзакции и файлы
.asp, формирующие структуру веб-приложения.
Приложение по обработке заказов на продажу состоит из четырех файлов .asp: Login.asp,
Credit.asp, Inventory.asp и Commit.asp. Обратите внимание, что каждая физическая
транзакция представлена отдельным файлом .asp. (Каждый файл .asp содержит директиву
@Transaction = Required.) Каждый из файлов Login, Credit и Inventory взаимодействует с
компонентом COM, названным Sales Order. Sales Order предлагает методы для
выполнения трех шагов размещения заказа.
Когда покупатель готов завершить покупку (то есть, бизнес-процесс завершен),
Commit.asp объединяет всю логическую транзакцию в одну физическую транзакцию,
которая изменяет коды состояния всех ресурсов данных с «pending» на «complete». Такая
структура учитывает и то, что Интернет не требует подключений, и требование
предоставления пользователю единого бизнес-процесса.
Дополнительные сведения о транзакциях службы компонентов см. в разделе
Представление о транзакциях и документации службы компонентов и службы очереди
сообщений в пакете SDK платформы. Примеры сценариев, реализующих транзакции, см.
под заголовком Примеры ASP в разделе IIS пакета SDK или на веб-узле MSDN Online Internet Information Services.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Технология обработки транзакций
Основным средством, позволяющим ASP (Active Server Pages) участвовать в транзакциях,
являются службы компонентов, обеспечивающие IIS службами транзакций, а также
средой для размещения экземпляров компонентов. Одно из преимуществ этой среды
состоит в возможности создания атрибутов для отдельных экземпляров компонентов.
Когда IIS компилирует сценарий ASP, создается новый экземпляр диспетчера вебприложений IIS (IISWAM). IISWAM является компонентом COM, который IIS использует
для управления приложениями. Если сценарий содержит директиву @TRANSACTION,
экземпляр IISWAM будет объявлен внутри среды транзакции с соответствующими
свойствами транзакции. Например, если в сценарий ASP включена директива
«@TRANSACTION = Required», это говорит службе компонентов, что создаваемый
экземпляр IISWAM должен запускаться в транзакции. Если сценарий на ASP-странице
создает экземпляры других компонентов, зарегистрированных в службе компонентов,
служба компонентов будет рассматривать их как часть той же транзакции. Приведенный
ниже рисунок иллюстрирует отношения между ASP и IISWAM.
Службы компонентов обеспечивают службы транзакций для IIS на двух различных
уровнях. На нижнем уровне служба компонентов взаимодействует с Microsoft® Distributed
Transaction Coordinator (MS DTC) для гарантии удовлетворения транзакцией требований
единства, согласованности, изолированности и длительности, предъявляемых к надежной
системе обработки транзакций. Служба компонентов связывает экземпляры компонентов
с MS DTC с помощью двух различных механизмов: диспетчеры ресурсов и
распределители ресурсов.
Диспетчер ресурсов — это системная служба, осуществляющая управление данными
длительного хранения. Служба компонентов поддерживает диспетчеры ресурсов,
реализующие протокол транзакций OLE, например Microsoft® SQL Server 6.5, или
стандарт X/Open DTP XA. Распределители ресурсов аналогичны диспетчерам ресурсов по
своей работе с компонентами, использующими совместно сведения о состоянии. Однако
эта информация не хранится продолжительное время. Например, распределители ресурсов
могут управлять группами подключений к базе данных для компонентов, использующих
стандартные интерфейсы ODBC. Диспетчер драйверов ODBC 3.0 является
распределителем ресурсов для ODBC-подключений.
Дополнительные сведения о транзакциях службы компонентов см. в разделе
Представление о транзакциях и документации службы компонентов и службы очереди
сообщений в пакете SDK платформы. Примеры сценариев, реализующих транзакции, см.
под заголовком Примеры ASP в разделе IIS пакета SDK или на веб-узле MSDN Online Internet Information Services.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Безопасность приложений IIS
Безопасность веб-узлов является критическим вопросом для веб-разработчиков. Эти
вопросы являются также источником недоразумений. Безопасная система требует
тщательного планирования, а администраторы веб-узла и программисты должны иметь
четкое представление о возможностях защиты узла. Кроме того, они должны понимать,
как взаимодействуют различные подсистемы безопасности.
В данном разделе приведен обзор вопросов безопасности, с которыми могут столкнуться
разработчики ASP, компонентов и ISAPI. Основные принципы обеспечения безопасности
веб-узла рассмотрены в разделе Безопасность.
В этом разделе рассматриваются следующие вопросы.



Доступ к клиентским сертификатам с помощью ASP. Описание использования
сценариев на стороне сервера для доступа к сертификатам клиентов.
Передача контекста безопасности. Обзор различных контекстов безопасности,
которые могут участвовать в обработке запросов.
Дополнительные вопросы безопасности. Обсуждение различных вопросов,
касающихся безопасности приложений IIS.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Доступ к клиентским сертификатам с
помощью ASP
С помощью ASP можно создать сценарий на стороне сервера, который извлекает
содержимое клиентского сертификата и сохраняет эти сведения в текстовом файле.
Добавив это сценарий на веб-страницы, защищенные SSL, можно эффективно
каталогизировать и управлять клиентскими сертификатами пользователей, обращающихся
к серверу.
Пример сценария, выполняющего эту функцию, приведен в разделе «Примеры для
разработчиков».
Дополнительные сведения см. в разделе ClientCertificate.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Передача контекста безопасности
Windows устанавливает контекст безопасности для каждого пользователя, вошедшего в
систему. Когда IIS получает запрос от клиента, он проверяет подлинность запроса и
олицетворяет клиента. Пока IIS олицетворяет клиента, IIS действует в границах контекста
безопасности подлинного клиента. Контекст безопасности может изменяться на
протяжении различных этапов обработки запроса, в зависимости от характера
клиентского запроса. Приведенный ниже рисунок иллюстрирует различные контексты
безопасности, которые могут участвовать в обработке запросов.
Контекст безопасности процесса IIS (inetinfo) известен как LocalSystem. Однако когда IIS
обрабатывает запрос клиента, IIS олицетворяет контекст клиента, сформировавшего
запрос. Если подлинность клиента проверялась с помощью анонимной схемы, контекст
безопасности будет IUSR_ИмяКомпьютера для приложений в процессе и
IWAM_ИмяКомпьютера для приложений, выполняемых в изолированном процессе. Если
подлинность клиента проверялась по любой другой схеме, контекст безопасности будет
сопоставлен с индивидуальной учетной записью клиента.
Если экземпляр компонента COM создается с помощью ASP, компонент COM унаследует
контекст безопасности у файла.asp, который его создал. Когда IIS уничтожает экземпляр
компонента, в большинстве случаев используется контекст безопасности файла .asp.
Однако существует по крайней мере один случай, когда этого не происходит. Если
компонент COM имел сеанс областью определения (то есть, Session("mysesscomp") =
Server.CreateObject("MyComps.Comp1")), а время ожидания сеанса истекло до
уничтожения компонента, IIS попытается уничтожить объект с помощью своего контекста
безопасности (LocalSystem), а не контекста клиента, обратившегося к файлу .asp. Если
компонент обращался к защищенным ресурсам и не освободил их, этот сценарий может
дать побочный эффект в системе.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Дополнительные вопросы безопасности
Системный реестр
Многие приложения IIS требуют ресурсов, предоставляемых другими программными
компонентами. Например, динамическая библиотека расширения ISAPI может вызвать
сервер автоматизации от независимой программной фирмы или приложение CGI может
запускать программу, написанную с помощью Microsoft® Visual Basic®. Эти компоненты
могут иметь информацию, хранимую в системном реестре и необходимую им для
правильного выполнения. При стандартном использовании этих компонентов на
настольных компьютерах сведения из системного реестра считываются из профиля
текущего пользователя. Эти приложения нередко имеют проблемы при запуске через IIS,
поскольку для приложений IIS доступен профиль пользователя, используемого по
умолчанию. Профиль пользователя, используемого по умолчанию, заполнен сведениями,
общими для всех пользователей. Следовательно, компонент может выполняться, как
ожидается, если пользователь User1 выполняет его на своем настольном компьютере,
поскольку считываются сведения из профиля пользователя User1 в системном реестре. То
же самое приложение может не работать вообще из-под IIS, поскольку оно не получит
доступа к профилю пользователя User1. Это справедливо, даже если IIS олицетворяет
учетную запись User1 с помощью обычной или встроенной в Windows проверки
подлинности.
Рабочие станции
Windows NT 4.0, а также Windows 2000 и более поздние версии Windows используют
концепцию существования нескольких рабочих станций на одном компьютере. Рабочую
станцию можно рассматривать как экран, который виден при подключении к компьютеру.
Рабочая станция получает все сообщения клавиатуры и мыши, которые посылаются
пользователем компьютера, и это позволяет приложениям до определенной меры
взаимодействовать друг с другом. Например, одно приложение на рабочей станции может
посылать сообщения другому приложению на рабочей станции. Поддержка нескольких
рабочих станций подразумевает работу других рабочих станций; они не видны и не
существует способа послать им клавиатурное сообщение или сообщение мыши. Эта
концепция может показаться бесполезной, но фактически многие приложения,
запущенные как службы Windows, требуют возможностей, предоставляемых рабочей
станцией, но не хотят взаимодействовать с пользователем рабочей станции.
Следовательно, каждая служба получает свою рабочую станцию, которая не будет мешать
текущему пользователю.
Если приложение IIS любым способом взаимодействует с рабочей станцией (например,
если отображает окно сообщения), оно будет отображать это окно сообщения на рабочей
станции, которая не видна на компьютере рабочей станции. Аналогично, приложение IIS
не сможет передать сообщение приложению на интерактивной рабочей станции. Если
приложение IIS должно взаимодействовать с интерактивной рабочей станцией, тогда
следует использовать другую форму межпроцессной связи, называемую именованные
каналы (Named Pipes). Дополнительные сведения см. в подразделе «Interprocess
Communication» раздела Windows Base Services в SDK платформы.
Динамические библиотеки фильтра ISAPI
Динамические библиотеки фильтра ISAPI (не надо путать с динамическими библиотеками
расширения ISAPI) выполняются в исходном контексте службы IIS. Все службы по
умолчанию выполняются с учетной записью локальной системы компьютера, на котором
они были установлены. Учетная запись локальной системы имеет доступ к почти всем
ресурсам на локальном компьютере (если они специально не запрещены для этой записи)
и не имеет ресурсов на других компьютерах в сети.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Технологии разработки
Архитектура Microsoft Windows Distributed interNet Application (Windows DNA) является
динамическим набором технологий, которые можно использовать для построения вебприложений. С помощью Windows XP корпорация Майкрософт добавила к этой
архитектуре несколько ключевых аспектов.
В этом разделе рассматриваются следующие вопросы.





Службы компонентов. Описание служб, используемых в компонентах и вебразработках.
Динамический HTML (DHTML). Обсуждение языка DHTML (Dynamic Hypertext
Markup Language).
Windows Script Components. Описание использования компонентов COM с
помощью языков написания сценариев.
XML. Описание языка XML.
Интерфейсы ADSI (Active Directory Service Interfaces). Обсуждение интерфейсов
Active Directory Service Interfaces (ADSI) и их использование с помощью IIS.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Служба компонентов
Служба компонентов обеспечивает множество служб, которые упрощают разработку
компонентов и веб-приложений. Это следующие службы.
Компоненты, помещенные в очередь
Эта возможность позволяет создавать компоненты, готовые к немедленному выполнению
при наличии подключения клиента к серверу. Они обеспечивают простой способ
асинхронного вызова и выполнения компонентов. Если клиент не подключен к серверу,
выполнение соответствующего компонента будет отложено до установки подключения.
Возможность постановки компонентов в очередь помогает разработчику, используя
вызовы методов, схожие с вызовами, используемыми в разработке компонентов, и таким
образом устраняя необходимость глубоких познаний в формировании параметров.
Дополнительные сведения см. в подразделе «Queued Components» раздела «Component
Services» в SDK платформы.
События службы компонентов
События службы компонентов дают возможность издателям и подписчикам удобно
подключаться к источникам данных для их раздельного создания, развертывания и
использования. Издателю не требуется знать количество и расположение подписчиков, а
подписчик использует посредника для поиска издателя и управления подпиской. Система
событий упрощает разработку компонентов и веб-приложений, позволяя издателю и
подписчику иметь постоянные удостоверения: издатели и подписчики могут
взаимодействовать, не зная друг друга. Дополнительные сведения см. в подразделе
«COM+ Events» раздела «Component Services» в SDK платформы.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Динамический HTML
Язык DHTML, поддержка которого реализована корпорацией Майкрософт в
обозревателях, начиная с Internet Explorer 4.0, позволяет создавать более мощные файлы
HTML, которые откликаются на события клиента. При обновлении HTML-страницы,
чтобы они использовали преимущества DHTML, не только увеличиваются возможности
пользователя, но и строятся веб-приложения, использующие ресурсы сервера более
эффективно.
DHTML управляет внешним видом HTML-страниц, устанавливая свойства в объектной
модели документов (DOM). Корпорация Майкрософт предложила DOM в качестве
стандарта консорциуму World Wide Web (W3C). DHTML предоставляет модель событий,
которая позволяет динамически изменять свойства DOM. Приведенный ниже простой
пример показывает деление HTML-страницы с помощью тегов <DIV> и установку
свойств стиля отображения подраздела при нажатии пользователем кнопки ввода.
<SCRIPT LANGUAGE = "VBScript">
Sub showit()
'Эта подпрограмма вызывается, когда пользователь нажимает соответствующую
кнопку.
'Она отображает текст, скрытый между тегами DIV.
document.all.MyDiv.style.display = ""
End Sub
</SCRIPT>
<DIV ID= "MyDiv" style="display: 'none'" >
Это скрытый текст.
</DIV>
<Select id= "Showit" onclick=showit>
Дополнительные сведения о языке DHTML см. на домашней странице MSDN Online.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Windows Script Components
Windows Script Components обеспечивают простой способ создания компонентов COM с
использованием языков сценариев, например Microsoft® Visual Basic® Scripting Edition
(VBScript) и других языков, совместимых со спецификацией языка ECMA 262 (например
Microsoft® JScript® 2.0 и JavaScript 1.1). Можно использовать компоненты для написания
сценариев в качестве компонентов COM в приложениях, например Internet Information
Services (IIS), Microsoft® Windows Scripting Host (WSH) и любых других , которые
поддерживают компоненты COM.
Технология компонентов сценария состоит из:

Библиотеки выполнения компонентов сценариев (scrobj.dll).


Обработчиков интерфейса, которые являются компонентами, расширяющими
библиотеку выполнения. Обработчик интерфейса является скомпилированным
компонентом (написанным обычно на C++), реализующим определенные
интерфейсы COM. Когда устанавливается библиотека компонентов сценария,
становится доступным обработчик интерфейса автоматизации, который делает
возможным вызов компонентов сценария из ASP-файла.
Файла компонента сценария (файл SCT). В компоненте сценария указывается
используемый обработчик интерфейса. Компонент сценария также определяет
методы, которые могут быть вызваны из ASP-файла для выполнения
соответствующих функций.
Компоненты сценария являются превосходной технологией для разработки прототипов
компонентов COM. Компоненты сценария, как и другие компоненты COM, могут быть
зарегистрированы службой компонентов, если предполагается использовать их в
транзакциях или использовать возможности среды выполнения службы компонентов.
Поскольку они являются компонентами COM, компоненты сценария могут обращаться к
встроенным объектам ASP.
Дополнительные сведения о компонентах сценария см. на домашней странице MSDN
Online. Дополнительные сведения о построении компонентов сценария см. в SDK
платформы. Конкретные примеры компонентов сценария приведены в разделе
Использование компонентов и объектов и в SDK платформы.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
XML
Язык Extensible Markup Language (XML), как и HTML, позволяет применить к документу
разметку в виде тегов. Однако, в отличие от HTML, XML разработан для использования в
качестве обобщенного языка разметки. Другими словами, разметка, примененная к
документу XML, может быть использована для передачи не только сведений об
отображении и форматировании документа, но и семантической и организационной
структуры документа. Подобная гибкость делает XML мощным инструментом и
расширяет возможный диапазон приложений.
Дополнительные сведения о корпорации Майкрософт и языке XML см. в XML SDK на
веб-узле MSDN Online. Дополнительные сведения о языке XML и связанных с ним
стандартах см. на веб-узле World Wide Web Consortium.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Интерфейсы Active Directory Service
Interface
Интерфейсы Microsoft Active Directory Service Interfaces (ADSI) представляют собой
модель службы каталогов на основе модели компонентных объектов, позволяющую
клиентским приложениям, совместимым с ADSI, получать доступ к широкому кругу
разных протоколов каталогов, включая службу каталогов Windows®, LDAP и NDS,
используя всего один стандартный набор интерфейсов. ADSI ограждает клиентское
приложение от реализации и вмешательства в работу базового хранилища данных или
протокола.
Приложение, называемое поставщиком ADSI, делает себя доступным для клиентских
приложений ADSI. Данные, предоставляемые поставщиком, организованы в специальное
пространство имен, определенное поставщиком. Вдобавок к реализации интерфейсов,
определенных ADSI, поставщик может реализовывать схему ADSI. Схема используется
для предоставления метаданных о структуре пространства имен и объектов,
предоставляемых поставщиком ADSI. Атрибуты свойства должны устанавливаться только
в момент создания этого свойства.
Дополнительные сведения об ADSI содержатся в SDK Active Directory Service Interfaces
Version 2.0 и в SDK платформы Active Directory Schema.
ADSI и IIS
В настоящее время большинство сведений IIS о конфигурации узла Интернета хранится в
специальном хранилище данных, называемом метабазой IIS. IIS предоставляет
низкоуровневый интерфейс DCOM, позволяющий приложениям получать доступ к этой
метабазе и управлять ею. Для упрощения доступа к метабазе IIS также включает
поставщик ADSI, перехватывающий большинство функций интерфейса DCOM и
предоставляющий их любому клиентскому приложению, совместимому с ADSI.
Дополнительные сведения о совместном использовании ADSI и IIS содержатся в разделе
Использование объектов IIS Admin.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Разработка масштабируемых вебприложений
Быстродействие
Для разработки программного обеспечения однопользовательской системы требования к
быстродействию четко определены. В этом контексте важно, чтобы пользователь при
выполнении обычных задач не имел существенных задержек во времени.
В первые годы существования World Wide Web медленные веб-страницы не были
редкостью, и для многих пользователей долгое ожидание было допустимым. Однако по
мере создания веб-приложений для организаций, требования к быстродействию вебприложений начали соперничать с требованиями к однопользовательским приложениям.
Сейчас с широким распространением быстрых телекоммуникационных технологий
пользователи требуют увеличения быстродействия веб-узлов.
Масштабируемость
Реальная сложность в проектировании веб-приложения состоит в том, что хотя для
отдельного пользователя оно выглядит как традиционное приложение, но в
действительности является распределенным приложением, которое может одновременно
обслуживать сотни или даже тысячи пользователей.
Веб-приложения должны быть быстродействующими при широком диапазоне условий
окружения — другими словами, они должны быть масштабируемыми. Конечно, вебприложения должны быть быстродействующими, но быстродействие при использовании
одним пользователем не всегда означает масштабируемость.
Существует большое число метрик, позволяющих определить масштабируемость
приложения. Истинно масштабируемое веб-приложение должно соответствовать
следующим требованиям.


Обслуживать одного пользователя так же, как и сотни и тысячи пользователей
одновременно.
Обеспечивать в два раза более высокое быстродействие при установке на
компьютере с удвоенными ресурсами (процессоры, память и т.п.), утроенное
быстродействие на компьютере с утроенными ресурсами и т.п.
Конечно, эти требования по масштабируемости являются идеальными. Однако чем ближе
приложение приближается к идеалу, тем более успешно оно будет работать.
Вопросы проектирования, касающиеся быстродействия и масштабируемости
Наиболее важное соображение, которое надо иметь в виду при разработке проекта вебприложения, состоит в том, что веб-приложение, по большей части, является серверным
приложением. Исторически сложилось, что серверное программное обеспечение уступает
по сложности и трудностям программирования только программному обеспечению
операционных систем. IIS и Windows® предлагают множество передовых инструментов,
которые делают разработку веб-приложений более быстрой и легкой, но вопросы и
проблемы программирования сервера по-прежнему остаются.
Важные вопросы обеспечения масштабируемости приложения включают:


Выбор технологии. Как и большинство платформ разработки, Windows предлагает
множество возможностей для выполнения поставленной задачи. Правильный
выбор технологии является первым, и часто наиболее важным, шагом в разработке
масштабируемого веб-приложения. Например, если технология, используемая на
стороне клиента, обеспечивает функциональность одинаковую или близкую той,
которая обеспечивается сервером, целесообразно максимальное использование
программного обеспечения клиента. Это сделает приложение более
масштабируемым, поскольку в этом случае клиент реализует значительную часть
обработки. Правильный выбор технологии также ведет к уменьшению двойного
обмена между клиентом и сервером, что также улучшает быстродействие.
Дополнительные сведения см. в разделе Веб-приложения: обзор и SDK клиента
Интернета.
Выбор языка. Выбор языка разработки веб-приложения определяет круг
пользователей, которые могут получить доступ к нему. Например, использование
сценариев в приложение исключает пользователей, чьи обозреватели не
поддерживают сценарии. В приведенном ниже списке перечислены некоторые из
доступных языков разработки:
 Windows Script Components







Visual Basic
Java
C++
Разработка алгоритмов и блок-схем. Даже правильная технология, примененная
неправильно, даст плохие результаты.
Многопотоковость. IIS и Windows обеспечивают многопотоковую среду. Для
создания масштабируемых приложений необходимо выбрать подходящую модель
потоков для компонентов.
Конфликт ресурсов и временные задержки. Конфликт ресурсов и их «утечка»
часто являются главными виновниками недостаточной масштабируемости
приложений.
Проверка в реальных условиях. Следует тщательно проверить веб-приложение в
среде максимально близкой к той, в которой приложение будет развернуто.
Подробный анализ всех этих разделов не входит в задачу этого документа. В этом разделе
можно найти подборку замечаний и процедур, характерных для IIS, которые помогут
создать масштабируемое веб-приложение.
В этом разделе рассматриваются следующие вопросы.





Разработка масштабируемых ASP-приложений
Разработка масштабируемых компонентов
Разработка производительных приложений ISAPI
Быстродействие доступа к данным
Проверка быстродействия и масштабируемости
Дополнительные сведения о проектировании веб-приложений см. в разделе Проектные
решения.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Разработка масштабируемых ASPприложений
Правильное использование ASP
С помощью ASP можно легко и быстро создавать веб-приложения. Это займет гораздо
меньше времени, чем при использовании обычных языков разработки программного
обеспечения сервера, например C или C++.
Однако простота создания приложений, использующих ASP, вступает в противоречие со
сложностью обработки и взаимодействия клиент-сервер, требуемых приложением. Вебприложения, разработанные с широким использованием сценариев ASP, возможно, не
будут масштабируемыми.
Чтобы избежать проблем с масштабируемостью, при разработке с помощью ASP надо
иметь в виду два соображения:


ASP — это «клей»
Не стоит использовать ASP для бизнес-логики
Первое подчеркивает, что ASP соединяет HTML, сценарии на стороне клиента с
использованием DHTML и XML для создания мощной платформы, взаимодействующей с
пользователем. Сценарии ASP были разработаны для связывания интерфейса
пользователя с бизнес-логикой веб-приложения. ASP оптимизирован для выполнения этих
задач.
Второе служит для напоминания. Если окажется, что большая часть бизнес-логики
встроена в ASP, приложение, по-видимому, не будет масштабируемым. Действительно,
языки написания сценариев ActiveX®, используемые в ASP, могут выполнить
значительную часть обработки бизнес-логики. Однако если веб-приложение требует
нетривиальной бизнес-логики, она должна быть вложена в новый компонент COM, а не в
сценарии ASP.
Оптимизация ASP в IIS
После того как установлено, что ASP при разработке приложения используется
соответствующим образом, а бизнес-логика встроена в компоненты COM, остаются два
пути дальнейшего улучшения быстродействия и масштабируемости веб-приложения:


Оптимизация ASP-сценариев
Оптимизация конфигурации IIS
Дополнительные сведения о проектировании веб-приложений см. в разделе Проектные
решения.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Оптимизация ASP-сценариев
Оптимизация программ должна быть выполнена очень тщательно. При написании
сценариев ASP, как и в любом другом языке программирования, важно определить
области приложения, требующие большую часть времени и ресурсов. Эти сведения могут
быть использованы для эффективного выявления критической области для оптимизации.
Ниже приведен ряд советов, которые помогут уменьшить проблемы быстродействия в
ASP-сценариях:


Кэшируйте объекты и данные, имеющие приложение областью определения,
или создавая объекты в Global.asa, или создавая их по требованию в отдельных
сценариях и назначая им приложение в качестве области определения.
Объединяйте вывод, формируемый вызовами Response.Write, используя
буферизацию ASP, которая в IIS 5.0 включена по умолчанию. Чтобы увеличить
видимое быстродействие приложений, использующих буферизованный вывод, при
выполнении операций, требующих много времени, приложение должно
периодически использовать Reponse.Flush для поддержания контакта с
пользователем.
Если буферизация ASP для приложения запрещена, быстродействие может быть
повешено за счет минимизации числа отдельных вызовов Response.Write
(объединяя отдельные строки вывода в одну строку больших размеров). Однако
если это сопряжено с интенсивной обработкой строк, выигрыш в
производительности может быть скомпенсирован затратами времени на обработку
строк.






Установка свойства Buffer объекта Response. В IIS 4.0 свойство Buffer объекта
ASP Response по умолчанию имеет значение FALSE. В новой версии IIS 5.1
свойство Buffer по умолчанию имеет значение TRUE. В процессе обновления
предыдущей версии IIS до IIS 5.1 используемое по умолчанию значение свойства
Buffer не изменяется.
Присвоение свойству Buffer значения TRUE может значительно увеличить
производительность больших ASP-приложений, в которых пользователи в
основном подключаются к приложению через модем. Буферизацию для
приложения можно включить, используя оснастку IIS или добавив на
соответствующие страницы строку <% Response.Buffer = True %>. С помощью
оснастки IIS также можно изменить это свойство для приложений целиком.
Используйте теги <OBJECT> вместо Server.CreateObject при создании
объектов, имеющих приложение или сеанс областью определения. Смысл этой
рекомендации состоит в том, что IIS создает экземпляр объекта, заданного тегами
<OBJECT>, только при использовании его. Если используются теги <OBJECT>, а
сценарий не использует объект, приложение не будет создавать экземпляр объекта.
Server.CreateObject, напротив, вынуждает IIS немедленно создавать экземпляр
объекта, вне зависимости от использования объекта сценарием.
Используйте локальные переменные, избегайте общих переменных.
Обработчик сценариев ASP получает доступ к локальным переменным быстрее,
чем к общим, поскольку для доступа к значению локальной переменной не нужно
искать по всему пространству имен.
Проверяйте сведения, введенные пользователем, на стороне клиента, где
возможно, это уменьшит требуемый двойной обмен по протоколу HTTP. Если
обозреватель является полнофункциональным, используйте его возможности,
освобождая ресурсы сервера для более важных задач. Конечно, некоторые
проверки целостности следует выполнять на сервере, как предварительные меры
предосторожности от повреждения данных.
Копируйте отдельные значения из семейств в локальные переменные, если
значение будет использоваться неоднократно. Это избавит ASP от поиска по
семейству для каждого обращения.
Отключите состояние сеанса для всего приложения, если это возможно. Если
приложение не требует использования сеансов IIS, следует использовать объект IIS
консоли MMC для запрещения состояния сеанса для всего приложения. Сеансы в
IIS остаются в памяти, и память выделенная под сеансы не будет освобождена до
прерывания сеанса или истечения его времени ожидания. Если приложение
одновременно используется большим количеством пользователей, ресурсы сервера
могут истощиться, что скажется на быстродействии. Если некоторые части
приложения не требуют сохранения состояния сеанса, следует запретить состояние
сеанса для этих страниц с помощью директивы @ENABLESESSIONSTATE.
Выключение состояния сеанса во всех возможных местах особенно полезно для
страниц, содержащих элемент <FRAMESET>. Некоторые обозреватели, включая
Internet Explorer, будут использовать отдельные потоки для обработки отдельных
рамок в группе рамок. Если состояние сеанса включено для страницы с группой
рамок, выигрыш в быстродействии клиентской части за счет использования
параллельных потоков будет потерян, поскольку IIS будет вынужден
последовательно обрабатывать потоки для отдельных запросов.





Если используется состояние сеанса, избегайте размещения больших объемов
данных в объекте Session и в состоянии сеанса. Сеансы в IIS остаются в памяти, и
память выделенная под сеансы не будет освобождена до прерывания сеанса или
истечения его времени ожидания. Если приложение одновременно используется
большим количеством пользователей, ресурсы сервера могут истощиться, что
скажется на быстродействии.
Не оставляйте пустыми сценарии Session_OnStart или Session_OnEnd.
Обратите особое внимание на эффект от изменения конфигураций IIS и ASP.
Дополнительные подробности см. в разделе Оптимизация конфигурации IIS.
Если ASP-страница выполняется как часть приложения, для отладки укажите
приложение как внешнее (out-of-process). Изоляция приложений, введенная в
IIS 4.0, является полезной возможностью. Межпроцессная сортировка требуется
для поддержки изолирования процессов, однако она может вызвать некоторые
накладные расходы обработки ASP. Эта разница в накладных расходах довольно
существенна для простых ASP-страниц и менее заметна для более сложных
страниц. Чтобы увеличить быстродействие и улучшить масштабируемость,
рассмотрите запуск приложения вне процесса, пока оно не отлажено и не работает
достаточно устойчиво, чтобы выполняться в одном процессе с IIS.
Если возможно, избегайте использования оператора ReDim для массива. Более
эффективно сразу выделить память под полный объем массива при инициализации
массива.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Оптимизация конфигурации IIS
IIS обеспечивает несколько параметров настройки, которые можно подобрать для
настройки быстродействия и масштабируемости веб-приложений. Среди них:













AppAllowDebugging
AspAllowSessionState
AspEnableChunkedEncoding
AspEnableTypelibCache
AspProcessorThreadMax
AspTrackThreadingModel
AspRequestQueueMax
AspQueueConnectionTestTime
AspSessionMax
AspBufferingOn
AspScriptEngineCacheMax
AspSessionTimeout
AspThreadGateEnabled
Советы по увеличению быстродействия приведены на справочных страницах для каждого
свойства; чтобы увидеть справочную страницу, выберите свойство из списка,
приведенного выше.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Разработка масштабируемых компонентов
Поскольку большую часть бизнес-логики следует заключать в компоненты COM, важно,
чтобы компоненты обеспечивали высокое быстродействие в дополнение к
масштабируемости.
Ниже приведены некоторые предложения по созданию масштабируемых компонентов:




Оптимизируйте алгоритмы.
Привяжите компонент к соответствующей модели потоков. Компоненты со
страничной областью определения должны использовать замкнутую (Apartment)
или двойную (Both) модель потоков. Компоненты с областью определения —
приложением должны использовать двойную модель и должны также включать в
себя сортировщик свободных потоков. Дополнительные сведения о вопросах
моделей потоков компонентов см. раздел Selecting a Threading Model в
документации IIS в SDK платформы.
Если компонент интенсивно использует кучу, рассмотрите другие альтернативы
использованию кучи. Интенсивное использование кучи Windows® может вызвать
конфликт ресурсов. Следует рассмотреть несколько альтернатив выделения
памяти, включая:
 Разделение кучи, сопровождаемое созданием нескольких пользовательских
куч, в дополнение к стандартной куче процесса. Каждая пользовательская
куча должна контролироваться отдельной, не глобальной, блокировкой, а
конфликт блокировки должен быть уменьшен.
 Кэшируемое выделение, которое заключается в использовании
специальных операций выделения, которые действуют как промежуточный
слой между пользователями объекта и кучей. Вызовы кучи Win32
производятся нечасто и только для больших блоков памяти. Эти блоки
подразделяются и управляются пользовательской программой
распределения памяти.
 Выделение стека с использованием функции языка C _alloca для
выделения памяти объектам в стеке вместо кучи. Использование этого
метода возможно только для относительно небольших объектов, поскольку
пространство, доступное для стека, ограниченно. Кроме того, каждый вновь
размещенный объект будет доступен только внутри текущей функции или
функций, вызываемых из нее. При завершении текущей функции память,
выделенная под стек, будет утеряна.
 Инкапсуляция объектов, сопровождаемая включением буфера в структуру
данных класса компонента. Этот буфер затем используется для задач,
которые будут требовать доступа к куче Win32.
Избегайте использования глобальных блокировок внутри компонента, если
это возможно. Глобальные блокировки часто отрицательно сказываются на
масштабируемости компонента.


Если компонент выполняется как часть приложения, для отладки укажите
приложение как внешнее (out-of-process). Изоляция приложений, введенная в IIS
4.0, является полезной возможностью. Межпроцессная сортировка требуется для
поддержки изолирования процессов, однако она может вызвать некоторые
накладные расходы выполнения компонента. Эта разница в накладных расходах
довольно существенна для простых компонентов и менее заметна для более
сложных. Чтобы увеличить быстродействие и улучшить масштабируемость,
рассмотрите запуск приложения вне процесса, пока оно не отлажено и не работает
достаточно устойчиво, чтобы выполняться в одном процессе с IIS.
Рассмотрите возможность помещения компонента в библиотеку (внутреннюю)
COM+ приложения. Как часть возможности своевременной активизации в службе
компонентов, фабрика классов компонента COM кэшируется и используется
повторно для каждого запроса на создание экземпляра посредством CreateInstance.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Разработка производительных
приложений ISAPI
ISAPI представляет собой высокопроизводительный интерфейс для веб-приложений. Если
создается расширение ISAPI или фильтр, велика вероятность того, что будет достигнуто
более высокое быстродействие, чем у ASP-сценариев или даже компонентов,
выполняющих аналогичные функции. Однако высокая внутренняя скорость интерфейса
ISAPI не означает, что можно не обращать внимание на вопросы быстродействия и
масштабируемости. ISAPI не может использовать большинство служб поддержки
приложений, обеспечиваемых ASP и COM. Если, например, потребуется для приложения
ISAPI сохранять состояние сеанса, большая часть функциональности состояния сеанса
должна быть реализована самостоятельно.
Ниже приведены некоторые советы по улучшению масштабируемости и быстродействия
расширений ISAPI.



Избегайте фильтров ISAPI, если добавление фильтров ISAPI не является
абсолютно необходимым для архитектуры приложения. Особенно следует избегать
фильтров, выполняющих обработку необработанных входящих и исходящих
данных. Если установлено, что фильтр абсолютно необходим, тщательно
оптимизируйте пути главной программы через программу извещения о событиях
фильтра.
Создайте собственную группу рабочих потоков, чтобы главные потоки вводавывода были освобождены для выполнения других задач. Этот вариант подходит
только для расширений ISAPI.
Рассмотрите возможность использования асинхронных операций и
окончательных портов ввода-вывода. IIS поддерживает асинхронные чтение и
запись с помощью окончательных портов ввода-вывода, доступных в Windows NT
4.0 и Windows 2000 и более поздних версий. В зависимости от типа выполняемых
операций ввода-вывода, асинхронные операции могут обеспечить лучшее
использование времени центрального процессора и обычно работают довольно
хорошо, если реализованы с помощью группы рабочих потоков.





Используйте функцию Win32 TransmitFile. При отправке HTML-файла или
файла рисунка расширения ISAPI должны использовать функцию Win32
TransmitFile, предоставляемую HSE_REQ_TRANSMIT_FILE ServerSupportFunction.
Используйте заголовки открытых соединений. Поддержание постоянных
соединений HTTP в большинстве случаев обеспечит лучшее быстродействие, чем
для непостоянных.
Минимизируйте необходимость в синхронизации потоков, сохраняя
информацию о состоянии с контекстом запроса. Если синхронизация потоков
необходима, убедитесь, что критические секции достаточно коротки.
Рассмотрите другие альтернативы использованию кучи, если приложение
ISAPI интенсивно использует кучу. Интенсивное использование кучи Windows ®
может вызвать конфликт ресурсов. Следует рассмотреть несколько альтернатив
выделения памяти, включая:
 Разделение кучи, то есть создание нескольких пользовательских куч, одну
для каждого потока, в дополнение к стандартной куче процесса. Каждая
пользовательская куча контролируется отдельной, не глобальной,
блокировкой, а конфликт блокировки уменьшается.
 Кэшируемое выделение, которое заключается в использовании
специальных операций выделения, которые действуют как промежуточный
слой между пользователями объекта и кучей. Вызовы кучи Win32
производятся нечасто и только для больших блоков памяти. Эти блоки
подразделяются и управляются пользовательской программой
распределения памяти.
 Выделение стека с использованием функции языка C _alloca для
выделения памяти объектам в стеке вместо кучи. Использование этого
метода возможно только для относительно небольших объектов, поскольку
пространство, доступное для стека, ограничено. Кроме того, каждый вновь
размещенный объект будет доступен только внутри текущей функции или
функций, вызываемых из нее. При завершении текущей функции и возврату
к основной вызывающей программе память, выделенная под стек, будет
утеряна.
 Инкапсуляция объектов, сопровождаемая включением буфера в структуру
данных класса. Используйте этот буфер для задач, которые будут требовать
доступа к куче Win32.
Избегайте использования глобальных блокировок внутри ISAPI, так как
глобальные блокировки всегда негативно влияют на масштабируемость.
Дополнительные сведения о расширениях и фильтрах ISAPI см. в разделе Разработка
расширений и фильтров ISAPI либо в справочнике по ISAPI в интерактивной
библиотеке MSDN.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Быстродействие доступа к данным
Доступ и извлечение данных часто является областью наибольших трудностей для
разработчика веб-приложений.
Многие из вопросов масштабируемости и быстродействия, возникающие из-за доступа к
данным, находятся вне контроля разработчика веб-приложений. Однако существует ряд
технологий, которые можно использовать для увеличения быстродействия:

Кэширование результатов из источников данных, которые являются устойчивыми
или изменяются предсказуемо. Можно кэшировать набор записей, возвращенный
запросом, или кэшировать «чистый» вывод HTML, созданный в результате
обработки запроса.
Например, если используется ADO для заполнения поля со списком, содержащим
города, в которых имеются офисы, первый вызов ADO может внести результаты
запроса в приложение. Последующие запросы к сведениям из этого списка могут
быть выполнены из объекта Application вместо дорогостоящего обращения к
источнику данных через ADO.
Если необходимо непосредственно кэшировать результирующий набор записей,
следует использовать курсор на стороне клиента и отделить набор записей от
объекта Command, установив свойство ADO ActiveConnection в Nothing.
Дополнительные сведения о кэшировании данных см. в разделе Кэширование
данных.







Обычно избегайте помещения подключений ADO в состояние сеанса,
поскольку ODBC (версия 3.0 и более поздние) автоматически группирует
подключения, а OLE DB обеспечивает группировку сеансов.
Используйте, насколько возможно, исходные строки подключения OLE DB.
Исходные строки подключения OLE DB обычно быстрее большинства DNS для
ODBC. Кроме того, строки подключения OLE DB обеспечивают большую
гибкость, поскольку приложение сможет использовать любой интерфейс доступа
OLE DB.
Если используется источник данных, поддерживающий их, например
Microsoft SQL Server, по возможности используйте хранимые процедуры.
Запрос, выполняемый из хранимой процедуры, быстрее запроса, проходящего
через строку запроса SQL.
Чтобы оптимизировать быстродействие, избегайте использования методов
ADO, добавляющих и удаляющих записи, например AddNew и Delete. Если
приложение интенсивно добавляет и удаляет записи, лучшее быстродействие будет
достигаться при использовании непосредственно операторов SQL, например
INSERT.
Установите свойство ADO CacheSize в значение, большее используемого по
умолчанию (1). Заставляя ADO извлекать несколько записей в одной транзакции с
источником данных, можно исключить часть накладных расходов, связанных с
транзакцией, а приложение станет более масштабируемым. Обычно выигрыш
наиболее вероятен, если установить значение CacheSize равным наименьшему из
двух чисел: количества ожидаемых записей и числа 100.
Используйте флаг ADO 2.0 AdExecuteNoRecords, когда выполняется команда,
не возвращающая строки данных или возвращающая строки, к которым не
нужно обращаться или сохранять. Эта новая возможность, введенная в ADO 2.0,
была создана для уменьшения накладных расходов, вызываемых ADO, и,
следовательно, увеличения быстродействия и масштабируемости.
Запретите временные хранимые процедуры, если источник данных
поддерживает их.
Дополнительные сведения о доступе к данным см. в разделах Доступ к источнику данных
и Доступ к данным с помощью ASP.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Проверка быстродействия и
масштабируемости
Тщательные планирование и разработка необходимы для проекта разработки вебприложения. Однако для получения истинно масштабируемого веб-приложения важно
регулярно и строго проверять его с точки зрения масштабируемости. Важно понимать, что
почти все веб-приложения сталкиваются с непредвиденными проблемами
масштабирования в процессе разработки. Единственный способ выявления и решения
этих проблем состоит в тщательной и полной проверке.
Обычно наиболее часто используемые проверки производительности и масштабируемости
нагружают приложение способом, который похож на перегрузки, которым приложение
будет подвергаться в «реальной» жизни.
Microsoft® Web Application Stress Tool является веб-средством создания нагрузки,
предназначенным для реалистичной симуляции запроса страниц веб-приложения
большим количеством обозревателей. Оно предназначено для создания настраиваемых
нагрузок на различные интернет-службы и обладает большим набором возможностей,
необходимых для любого разработчика, желающего собрать данные о
производительности какого-либо веб-узла.
Средство Web Application Stress Tool поставляется на компакт-диске, прилагающемуся к
комплекту «Ресурсы Windows 2000».
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Программное администрирование IIS
Службы IIS (Internet Information Services) предоставляют мощные средства
программирования, которые можно использовать для доступа к настройкам конфигурации
из сценария или приложения.
В этом разделе рассматриваются следующие вопросы.


Обзор программного администрирования. Описание метабазы и другие сведения,
необходимые для создания приложений администрирования.
Использование объектов IIS Admin. Описание способов доступа к метабазе из
сценариев или приложений с использованием любого из языков, поддерживающих
программирование объектов, таких как VBScript, JScript, C++ и Visual Basic.

Справочник по программному администрированию. Справочные сведения по
объектам программного администрирования и интерфейсам, которые могут быть
использованы совместно с IIS.
Дополнительные сведения содержатся в разделе SDK платформы, описывающем
дополнительные средства программного администрирования.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Обзор программного администрирования
Значения параметров конфигурации IIS хранятся в метабазе — хранилище данных,
резидентно расположенном в памяти и обеспечивающем быстрый доступ к данным.
Метабаза предназначена специально для использования с IIS. Она является более
быстрой, гибкой и масштабируемой, чем системный реестр Windows.
В этом разделе рассматриваются следующие вопросы.


Введение в метабазу IIS. Описание метабазы IIS.
Способы разработки программного администрирования. Описание двух способов
программного администрирования, предоставляемых IIS.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Введение в метабазу IIS
Метабаза является хранилищем для большинства сведений о конфигурации IIS.
В этом разделе рассматриваются следующие вопросы.




Структура метабазы. Сведения об организации данных в метабазе.
Названия разделов и пути. Описание адресации разделов метабазы.
Наследование свойств. Сведения о средстве метабазы, упрощающем настройку и
уменьшающем требования к хранилищу.
Защита и надежность метабазы. Обзор ключевых вопросов защиты и надежности,
влияющих на метабазу.
См. также


Создание резервной копии метабазы. Основные сведения и инструкции по
созданию резервной копии метабазы.
Восстановление метабазы. Основные сведения, инструкции и другие вопросы,
относящиеся к восстановлению метабазы.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Структура метабазы
Большинство параметров конфигурации IIS расположены в хранилище, похожем на
системный реестр Windows и называемом метабазой. Следует ознакомиться с механизмом
работы метабазы, организацией сведений, хранящихся в метабазе, и со способами доступа
к этим сведениям.
Метабаза организована в виде иерархической структуры, отражающей структуру данной
установленной копии IIS. Каждый узел в структуре метабазы называется разделом. Он
может содержать одно или несколько значений конфигурации IIS, называемых
свойствами метабазы. Разделы метабазы IIS соответствуют элементам IIS, а каждый
раздел содержит свойства, определяющие настройку связанного с ним элемента.
Большинство разделов конфигурации IIS и значений, хранившихся в системном реестре в
более ранних версиях IIS, теперь хранятся в виде свойств в метабазе. Для более удобного
и гибкого управления IIS добавлены новые разделы и значения. Метабаза предназначена
для возможности установки одних и тех же свойств на разных узлах разными способами.
Например, свойство MaxBandWidth для разных серверов может иметь разные значения.
Общая структура IIS, упорядоченная по типам разделов, показана на следующем рисунке.
Структура метабазы данной установленной копии IIS в зависимости от типа установки
может состоять из разного числа элементов. Разделы метабазы, связанные с элементами
IIS, адресуются по их путям в метабазе. См. раздел Названия разделов и пути.
На верхнем уровне метабазы находится раздел IISComputer, содержащий такие свойства,
как MaxBandWidth. Эти свойства влияют на общую работу IIS на данном компьютере.
Два подраздела раздела Computer связаны с FTP-службами и веб-службами
соответственно. Они содержат свойства, влияющие на все FTP и веб-серверы,
работающие на данном компьютере.
Подразделы раздела FTP-службы связаны с отдельными FTP-серверами и содержат
свойства, относящиеся к каждому конкретному FTP-серверу. Подраздел каждого раздела
FTP-сервера связан с корневым виртуальным каталогом этого сервера. Другие подразделы
добавляются в корневой виртуальный каталог при добавлении на FTP-серверы
виртуальных каталогов. Каждый из этих подразделов содержит свойства, влияющие на
работу и конфигурацию связанного с ним виртуального каталога. Раздел Info, прямо
подчиняющийся разделу FTP-службы, также содержит некоторые свойства, связанные с
FTP-службой.
Подразделы раздела веб-службы связаны с отдельными веб-серверами, их корневыми
виртуальными каталогами, подчиненными виртуальными каталогами, каталогами на
диске и файлами. Подразделы раздела веб-службы влияют на конфигурацию фильтров,
используемых при работе веб-службы. Раздел Info, прямо подчиняющийся разделу FTPслужбы, также содержит некоторые свойства, связанные с FTP-службой.
Другие разделы прямо подчиняются разделу верхнего уровня, содержащего свойства,
влияющие на ведение журнала и сопоставления MIME. Раздел IISADMIN служит для
записи расширений DCOM в IIS.
Разделы также могут содержать ссылки на объекты, которые могут быть использованы
объектами IIS Admin. Например, раздел CertMapper не содержит свойств метабазы, но он
предоставляет доступ к объекту IIsCertMapper и его методам для сопоставления
сертификатов.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Названия разделов и пути
Раздел метабазы представляет собой место в метабазе, аналогичное каталогу в файловой
системе. Путь в метабазе является последовательностью разделов, разделенных косой
чертой (/), уникально идентифицирующей расположение раздела в метабазе. Названия
разделов в метабазе не уникальны, если они не представлены путями в метабазе, так как
разные файлы с одинаковыми именами могут существовать в разных каталогах.
Используя путь к разделу метабазы с объектами IIS Admin, можно получать доступ к
определенным объектам IIS Admin, связанным с этим разделом. Объекты IIS Admin
используют путь интерфейсов ASDI (Active Directory Service Interfaces), называемый
ADsPath, для ссылки на объект, связанный с разделом. Этот путь начинается с IIS:// и
использует обозначение LocalHost или определенное имя компьютера для ссылки на
объект IIsComputer, связанный с наивысшим разделом в метабазе. Дополнительные
сведения об объектах IIS Admin см. в разделе Использование объектов IIS Admin.
Пути к объектам, связанным с другими разделами метабазы, являются расширением
ADsPath к разделу компьютера. Например, ADsPath для первого веб-узла данной
установленной копии IIS имеет значение IIS://LocalHost/W3SVC/1. Для доступа к метабазе
другого компьютера можно использовать путь IIS://имя_компьютера/W3SVC/1.
Каждый веб-узел является экземпляром сервера, ссылкой на который является его номер в
пути. Например, IIS://LocalHost/MSFTPSVC/3 представляет экземпляр третьего FTPсервера, а IIS://имя_компьютера/W3SVC/4 представляет четвертый экземпляр вебсервера.
С каждым веб-узлом связан корневой виртуальный каталог. Все другие виртуальные
каталоги, связанные с экземпляром сервера, подчинены этому корневому виртуальному
каталогу. Корневой виртуальный каталог называется ROOT. Путь
IIS://LocalHost/MSFTPSVC/3/ROOT ссылается на корневой виртуальный каталог третьего
FTP-сервера на локальном компьютере, а путь IIS://LocalHost/W3SVC/4/ROOT ссылается
на корневой виртуальный каталог четвертого веб-сервера на том же компьютере.
Структура ниже корневого виртуального каталога экземпляра сервера формируется путем
добавления виртуальных каталогов, обычных каталогов и файлов. Для FTP-серверов
свойства метабазы можно устанавливать на уровне виртуального каталога. Для вебсерверов свойства можно устанавливать на уровне каталогов и файлов. Например, путь
IIS://LocalHost/W3SVC/2/ROOT/MyVdir1/Dir1/File1 можно использовать для установки
таких свойств, как чтение, запись и выполнение файла.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Наследование свойств
Возможность наследования свойств метабазы служит для настройки установленной копии
IIS путем задания небольшого количества параметров, а также для уменьшения объема
памяти, требуемой для метабазы. Большинство свойств метабазы являются
наследуемыми. Это значит, что они устанавливаются не для какого-либо определенного
раздела, а наследуют значения разделов более высокого уровня. Например, можно
установить на уровне W3SVC такие разрешения доступа к файлам и каталогам, как
AccessScript, AccessExecute и AccessWrite, чтобы применить их ко всем файлам и
каталогам всех экземпляров сервера, или установить их на уровне W3SVC/2/ROOT, чтобы
применить их ко всем файлам и каталогам только второго веб-сервера. Затем можно
установить другие разрешения для отдельных подкаталогов и файлов, явно задав их на
более низких уровнях. Например, можно установить значение TRUE разрешения
AccessExecute для некоторых каталогов, виртуальных каталогов и файлов, таких как
...W3SVC/1/ROOT/VDir1/VDir1a, ...W3SVC/1/ROOT/VDir2/Dir2d;
...W3SVC/1/ROOT/VDir2/Dir3/File1 и т.д.
По умолчанию разрешения AccessScript, AccessExecute и AccessWrite имеют значение
FALSE. Способ наследования заключается в следующем: когда устанавливается значение
какого-либо наследуемого свойства, все его экземпляры в подразделах низших уровней
будут установлены автоматически. Если для установки наследуемого свойства
используется оснастка IIS (также называемая диспетчером служб Интернета, будет
выведен запрос на изменение значений во всех подразделах. Если же наследуемое
свойство устанавливается из сценария или командной строки, значения будут размножены
автоматически.
В следующем примере разрешению AccessScript присвоено значение TRUE на уровне
веб-службы (.../W3SVC), разрешению AccessExecute — значение TRUE на уровне
корневого каталога (.../W3SVC/1/ROOT), а разрешению AccessWrite — значение TRUE на
уровне файла (.../W3SVC/n/ROOT/в_каталог/каталог/файл). Кружок обозначает уровень,
на котором пользователь установил значение свойства, а стрелки показывают путь
наследования, по которому значение размножено в подразделах.
Большинство свойств метабазы являются наследуемыми, кроме некоторых, которые
используются только в определенных разделах. Некоторые свойства метабазы, такие как
ServerBindings, являются списками значений.
Флаги, такие как разрешения доступа к файлу, часто группируются в одну переменную
типа DWORD с помощью битовой маски. Полный набор флагов хранится вместе и
наследуется полностью. Например, если для каталога изменить одно из разрешений
доступа к файлу, такое как AccessExecute, в раздел метабазы будет записан полный набор
разрешений доступа к файлу для этого каталога.
Каждое свойство метабазы подробно описано в разделе Справочник по
административным свойствам. Этот справочник включает сведения о каждом
наследуемом свойстве. Кроме того, свойства, хранящиеся в виде части большого набора
свойств, называются флагами. Например, см. свойство AccessFlags.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Защита и надежность метабазы
Управление доступом к метабазе
Значения разделов метабазы хранятся на диске в файле, по умолчанию называемом
Metabase.bin. Метабаза загружается с диска при запуске IIS и сохраняется на диске при
завершении работы IIS, а также периодически во время работы IIS. Очень важно
обеспечить защиту от несанкционированного использования этого файла. Рекомендуется
хранить этот файл в разделе NTFS с использованием системы защиты Windows.
Файл Metabase.bin хранится в каталоге Inetsrv. Этот файл можно переместить или
переименовать, а затем изменить параметр реестра Windows, чтобы указать IIS, где искать
этот файл при запуске. Чтобы переместить или переименовать файл метабазы, следует
остановить IIS, переместить или переименовать этот файл и изменить раздел реестра
LOCAL_MACHINE\SOFTWARE\Microsoft\INetMgr\Parameters. Затем добавьте в этот
раздел переменную MetadataFile типа REG_SZ. Эта переменная задает новый полный путь
к файлу метабазы, включая букву диска и имя файла.
Надежность метабазы
К метабазе можно применить собственную политику архивации или создать специальные
средства архивации. Для управления архивацией метабазы пользовательское приложение
может использовать методы, предоставляемые объектами IIsComputer (для объектов IIS
Admin) и IMSAdminBase (для объектов IIS Admin Base). Поддерживаются хранение
нескольких архивов в долговременном хранилище, восстановление требуемой версии
метабазы из архива, подсчет и удаление архивов.
Важно! Возможности архивации и восстановления метабазы обновлены в IIS 5.1.
Использовавшиеся ранее средства архивации и восстановления метабазы предназначены
для работы с версиями метабазы, а не для копирования метабазы на другие компьютеры.
Старые архивы метабазы можно восстанавливать только на том компьютере, на котором
они были созданы. Дополнительные сведения об архивации и восстановлении метабазы
см. в разделах Создание резервной копии метабазы и Восстановление метабазы.
Дополнительные сведения содержатся в разделе пакета SDK платформы, описывающем
дополнительные средства программного администрирования.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Способы разработки программного
администрирования
Как написано в разделе Введение в метабазу IIS, метабаза содержит большинство
сведений о конфигурации, требуемых IIS для нормальной работы. Метабазу можно
программно администрировать с помощью объекта IIS Admin Base, также использующего
интерфейс IWamAdmin. Разработчики могут создавать приложения для использования
этого объекта, либо создавать приложения для использования объектов IIS Admin,
предоставляющих упрощенный способ реализации приложений. На следующем рисунке
показаны отношения между метабазой, объектом IIS Admin Base и уровнем объектов IIS
ADSI Admin.
IIS предоставляет два способа программного доступа к сведениям, хранящимся в
метабазе:
1. Объекты IIS Admin. Эти объекты соответствуют блокам, создающим разделы
установленной копии IIS. Таким образом, существует объект IIS Admin
IIsWebServer, предоставляющий свойства и методы, применяемые к веб-серверам,
другой объект IIS Admin IIsFtpServer, применяемый к FTP-серверам, и т.д.
Объекты IIS Admin обычно используются с языками, поддерживающими
программирование объектов, такими как Visual Basic, VBScript и JScript.
Дополнительные сведения содержатся в разделе Использование объектов IIS
Admin.
2. Объект IIS Admin Base. Этот объект предоставляет улучшенные средства
разработки. Дополнительные сведения содержатся в разделе Advanced
Programmatic Administration пакета SDK платформы.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Использование объектов IIS Admin
Объекты IIS Admin, описанные в этом разделе, являются средством IIS, обеспечивающим
самое непосредственное программное администрирование, насколько это возможно.
Объекты IIS Admin основаны на интерфейсах ASDI (Microsoft Active Directory Service
Interfaces), поддерживают программирование объектов, легко доступны для любого языка,
поддерживающего программирование объектов, такого как VBScript (Microsoft Visual
Basic Scripting Edition) или JScript в ASP (Active Server Pages), Visual Basic, Java или C++.
В этом разделе рассматриваются следующие вопросы.


Обзор объектов IIS Admin. Введение в объекты IIS Admin, их описание и способы
использования.
Задачи администрирования, использующие объекты IIS Admin. Описание
способов использования объектов IIS Admin для выполнения общих задач
программного администрирования.
Дополнительные сведения содержатся в разделах Справочник по объектам IIS Admin и
Справочник по административным свойствам.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Обзор объектов IIS Admin
Объекты IIS Admin представляют собой программируемые объекты COM, используемые
на страницах ASP и в пользовательских приложениях для изменения значений параметров
IIS, хранящихся в метабазе IIS. Например, написав сценарий на странице ASP, можно
установить разрешения для свойств AccessRead, AccessWrite и AccessExecute.
Дополнительные сведения о метабазе см. в разделе Введение в метабазу IIS.
Отдельные объекты IIS Admin соответствуют разделам метабазы и адресуются путями
внутри метабазы. Каждый объект обладает свойствами, также хранящимися в метабазе.
Используя объекты IIS Admin, можно управлять конфигурацией IIS: изменять свойства,
добавлять новые виртуальные каталоги, новые веб-узлы и т.д.
Так как при изменении свойств объекта IIS Admin изменяется значение соответствующего
свойства в метабазе, возможна настройка отдельных элементов IIS, таких как локальный
компьютер (LM), FTP-сервер (FTPSVC) или веб-сервер (W3SVC). Благодаря
иерархической структуре метабазы и возможности наследования свойств, можно легко
задавать свойства отдельного файла, отдельного сервера, всех веб-серверов, всех FTPсерверов или общие свойства многих других групп объектов.
В этом разделе рассматриваются следующие вопросы.


Иерархия объектов. Описание связи между объектами IIS Admin и метабазой и
способа адресации этих объектов в приложении.
Возможности ADSI. Описание способов применения объектами IIS Admin
обычных свойств и методов ADSI, доступных для администрирования IIS.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Иерархия объектов
Объекты IIS Admin образуют иерархическую структуру, отражающую структуры IIS,
определенные в метабазе IIS. Одни объекты содержат другие объекты, что образует
структуру объектов, приведенную на следующей схеме. Подробное описание структуры
IIS и метабазы находится в пункте Структура метабазы раздела Введение в метабазу IIS.
Большинство объектов наследуют свойства родительских объектов, но дочерние объекты
также могут иметь собственные свойства, приобретенные путем расширения схемы. Эта
структура объектов служит для доступа к параметрам конфигурации определенных
элементов IIS. Структура, показанная на схеме, очень сильно зависит от типа установки
IIS.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Возможности ADSI
В этом разделе описаны объекты ADSI и объекты-контейнеры, а также их реализация и
предоставление. Объекты IIS Admin предоставляются IIS как реализация ADSI. В ADSI
для адресации данных настройки IIS используется обычный синтаксис. Пространство
имен IIS состоит из объектов IIS Admin и метабазы.
В этом разделе рассматриваются следующие вопросы.


Объекты ADSI. Описание объектов ADSI и способов их использования для
настройки IIS.
Объекты-контейнеры ADSI. Описание объектов-контейнеров ADSI и их функций
в IIS.
На объекты IIS Admin можно ссылаться по их пути в метабазе. Например, объект IIS
Admin для первого веб-узла на компьютере MyComputer будет адресован по пути ADSI
(ADsPath) IIS://MyComputer/W3SVC/1.
Следующая программа на языке VBScript демонстрирует использование сценария,
ссылающегося по пути к первому веб-узлу (…/1), для открытия объекта IIS Admin. В
данном примере этот объект связан с разделом веб-узла метабазы, расположенной на
локальном компьютере.
Примечание. Вместо имени компьютера можно использовать строку «LocalHost».
<%
Dim VSvrObj
Set VSvrObj = GetObject("IIS://LocalHost/W3SVC/1")
Response.Write "Значение ServerComment = " & VSvrObj.ServerComment
%>
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Объекты ADSI
Все объекты IIS Admin поддерживают интерфейс IADs, определенный стандартом ADSI.
Интерфейс IADs объектов IIS Admin предоставляет следующие основные функции:



Простой способ установки и получения значений параметров конфигурации в
определенном разделе метабазы. Например, можно изменять свойства
(AccessFlags) для определенного веб-узла.
Получение пути родительского объекта-контейнера для указанного объекта.
Сведения о привязке, однозначно идентифицирующие экземпляр объекта в дереве
каталогов.




Путь к определению схемы объекта.
Идентификационные сведения, отражающие имя и тип объекта.
Получение свойств пространства имен.
Простая система кэширования.
Объекты IIS Admin используют интерфейс IADs, поддерживающий вдобавок к свойствам
метабазы IIS свойства Name, ADsPath, Class, GUID, Parent и Schema. Кроме методов,
требуемых для администрирования конфигурации IIS, также поддерживаются методы
IADs GetInfo, SetInfo, Get, Put, GetEx и PutEx. Дополнительные сведения о свойствах и
методах ADSI, предоставляемых объектами IIS Admin, содержатся в разделе Справка по
ADSI.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Объекты-контейнеры ADSI
Любой объект IIS Admin, который может содержать другие объекты, также может
вдобавок к интерфейсу IADs использовать интерфейс IADsContainer. Далее приведены
примеры объектов IIS Admin, поддерживающих интерфейс IADsContainer.


IIsComputer, который среди других объектов может содержать объекты
IIsWebService и IIsFtpService.
Объект IIsWebVirtualDir, который может содержать объекты IIsWebDirectory и
IIsWebFile, а также дополнительные объекты IIsWebVirtualDir.
Интерфейс IADsContainer позволяет объектам содержать другие объекты и выполнять
следующие задачи:





создавать объекты в контейнере;
удалять объекты из контейнера;
подсчитывать число объектов в контейнере;
перечислять содержащиеся объекты;
получать доступ к содержащимся объектам.
К объектам IIS Admin, которые могут содержать другие объекты, также можно применять
методы и свойства объектов-контейнеров. Это возможно, так как эти объекты
поддерживают интерфейс IADsContainer, свойства _NewEnum и Count, а также методы
GetObject, Create и Delete. Объекты IIS Admin также поддерживают основные свойства и
методы интерфейса IADs, а также все свойства и методы IIS и расширенные свойства и
методы.
Дополнительные сведения содержатся в разделе Справка по ADSI.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Задачи администрирования,
использующие объекты IIS Admin
Сведения о конфигурации IIS хранятся в виде двоичных значений в метабазе, также
называемых свойствами метабазы. Эти значения конфигурации можно изменять с
помощью объектов IIS Admin. Эти объекты также можно использовать для настройки
установленной копии IIS, создания новых FTP и веб-серверов, виртуальных каталогов и
других элементов IIS. Отдельные объекты IIS Admin соответствуют определенным типам
разделов в метабазе. В простых сценариях или ASP-страницах можно использовать
объекты IIS Admin для создания приложений для удаленного администрирования IIS.
В этом разделе рассматриваются следующие вопросы.

Управление метабазой. Описание одной из многих общих задач программного
администрирования, выполняемых с помощью IIS – управления метабазой с
использованием сценария.
Другие примеры сценариев, выполняемых из командной строки, содержатся в каталоге
\Inetpub\AdminScripts. Дополнительные примеры содержатся в разделе Developer Samples
пакета SDK платформы.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Управление метабазой
Объекты IIS Admin предоставляют иерархическое пространство имен объектов, где
каждый объект обладает свойством ADsPath. Синтаксис ADsPath совпадает с
синтаксисом адресов URL (Uniform Resource Locator) и имеет формат IIS://[путь], где
[путь] обозначает путь к каталогу с требуемым объектом. Например, адрес
IIS://MyComputer/W3SVC ссылается на объект IIsWebService компьютера MyComputer.
Объект, связанный с компьютером MyComputer, является объектом IIsComputer,
содержащим все другие объекты IIS Admin.
Для получения сведений по именованному объекту используется функция GetObject
языков Visual Basic и VBScript.
Примечание. Можно использовать и другие языки сценариев; дополнительные сведения
содержатся в документации по используемому языку сценариев и в разделе Справка по
ADSI.
Например, можно получить текущее значение свойства ServerComment, вставив в ASPфайл следующий сценарий VBScript. В следующем примере для доступа к компьютеру, на
котором работает IIS, вместо имени «MyComputer» используется строка «LocalHost».
<%
Dim ComputerObj
Dim MaxBW
Set ComputerObj = GetObject("IIS://LocalHost")
MaxBW = ComputerObj.Get("MaxBandwidth")
%>
Это также можно реализовать, используя синтаксис объект.свойство, как в следующем
примере.
<%
Dim ComputerObj
Dim MaxBW
Set ComputerObj = GetObject("IIS://LocalHost")
MaxBW = ComputerObj.MaxBandwidth
%>
Примечание. Страницы ASP, обращающиеся к метабазе, требуют привилегии
администратора на компьютере, на котором выполняется IIS; то же самое и при
выполнении внешнего приложения ASP. При выполнении сценариев с удаленного
компьютера необходимо осуществлять безопасное подключение, например, подключение,
защищенное встроенной проверкой подлинности Windows (также называемой проверкой
подлинности NTLM). Рекомендуется создать сервер или каталог для ASP-файлов
администрирования и указать на использование встроенной проверки подлинности
Windows для этого сервера или каталога.
В целях обеспечения безопасности внешние приложения могут получить доступ к
метабазе только в том случае, если свойство WamUserName имеет значение administrator.
Обычно рекомендуется использовать такой порядок, если только в особых случаях не
требуется другое.
Существуют два способа изменения порядка выполнения внешних приложений, но
каждый из них вносит определенную долю риска:


Можно наделить учетную запись IWAM_имя_компьютера правами доступа к
метабазе на уровне анонимного пользователя или NTLM, что даст права доступа к
метабазе уровня администратора всем внешним приложениям, созданным этой
стандартной учетной записью уровня администратора.
Или можно изменить удостоверение определенного внешнего пакета на
удостоверение какой-либо другой учетной записи и наделить только эту учетную
запись правами доступа к метабазе уровня администратора. Этот метод вносит
потенциально меньше риска, но его следует применять к каждому внешнему
пакету.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Справочник по программному
администрированию
Этот раздел содержит справочные сведения по объектам программного
администрирования и интерфейсам, которые могут быть использованы совместно с IIS.

Справочник по объектам IIS Admin. Страницы с описанием всех объектов IIS
Admin.


Справка по ADSI. Описание свойств и методов, предоставляемых объектами IIS
Admin.
Справочник по административным свойствам. Описание каждого
административного свойства IIS, включая тип данных, значение по умолчанию,
атрибут наследования и инструкции по использованию.
Дополнительные сведения содержатся в разделе Advanced Programmatic Administration
пакета SDK платформы.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Справочник по объектам IIS Admin
Этот раздел содержит страницы с описанием всех объектов IIS Admin. Каждая страница
включает сведения о контейнере ADSI, свойство ADsPath для данного объекта, свойства
метабазы, доступные для этого объекта, и все дополнительные методы, применимые к
этому объекту.
Примечание. Все объекты IIS Admin обладают свойством KeyType, однозначно
определяющим тип объекта IIS Admin, который представляет данный объект ADSI. Если
тип раздела недоступен или неверен, IIS назначает ему общий тип IIsObject. Метод
KeyType можно использовать для преобразования объекта ADSI в допустимый объект и
получения доступа к другим свойствам и методам IIS.
IIsCertMapper
Сопоставление сертификатов учетным
записям Windows.
IIsCompressionSchemes
Глобальные параметры схем сжатия HTTP
1.1.
IIsCompressionScheme
Параметры отдельных схем сжатия.
IIsComputer
Установка глобальных параметров
конфигурации IIS.
IIsCustomLogModule
Установка свойств узлов полей сведений
специальных журналов.
IIsFilter
Получение сведений об определенном
фильтре.
IIsFilters
Управление фильтрами.
IIsFtpInfo
Установка свойств конфигурации для FTPсерверов вдобавок к свойствам,
устанавливаемым объектом IIsFtpService.
IIsFtpServer
Установка свойств конфигурации для
отдельного FTP-сервера.
IIsFtpService
Установка свойств конфигурации, общих
для всех FTP-серверов.
IIsFtpVirtualDir
Установка свойств для отдельного
виртуального каталога FTP-сервера.
IIsIPSecurity
Специальный объект ADSI, служащий для
установки прав доступа по IP-адресу и
доменному адресу.
IIsLogModule
Сведения об определенном модуле ведения
журнала.
IIsLogModules
Сведения об установленных модулях
ведения журнала.
IIsMimeMap
Управление сопоставлениями MIME
(Multipurpose Internet Mail Extension).
IIsMimeType
Управление списком допустимых типов
MIME.
IIsWebDirectory
Установка свойств для отдельного каталога
веб-сервера.
IIsWebFile
Установка свойств для отдельного файла
веб-сервера.
IIsWebInfo
Установка свойств конфигурации для вебсерверов вдобавок к свойствам,
устанавливаемым объектом IIsWebService.
IIsWebServer
Установка свойств конфигурации для
отдельного веб-сервера.
IIsWebService
Установка свойств конфигурации, общих
для всех веб-серверов.
IIsWebVirtualDir
Установка свойств для отдельного
виртуального каталога веб-сервера.
См. также
Constants
Список констант, используемых объектами
IIS Admin.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
IIsCertMapper
Объект IIsCertMapper сопоставляет сертификаты клиентов учетным записям
пользователей Windows. IIsCertMapper является объектом ADSI, но не является
объектом-контейнером ADSI. Дополнительные сведения об объектах-контейнерах ADSI
содержатся в разделе Возможности ADSI.
ADsPath
IIS://имя_компьютера/W3SVC/N/IIsCertMapper
где имя_компьютера может быть любым именем или строкой «LocalHost».
Синтаксис
результат = IIsCertMapper.метод
Обозначения
результат
Переменная, получающая значение, возвращаемое методом.
Метод
Выбранный метод объекта.
Методы
CreateMapping
Сопоставление сертификата учетной записи
Windows.
DeleteMapping
Удаление существующего сопоставления
сертификата.
GetMapping
Получение существующего сопоставления
сертификата.
SetAcct
Установка нового значения для строки
учетной записи Windows в существующем
сопоставлении сертификата.
SetEnabled
Включение или отключение
существующего сопоставления
сертификата.
SetName
Установка нового значения для строки
имени в существующем сопоставлении
сертификата.
SetPwd
Установка нового значения для строки
пароля Windows в существующем
сопоставлении сертификата.
См. также
ADSI Object Methods
Обычные методы для объектов ADSI.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
CreateMapping
Метод CreateMapping объекта IIsCertMapper сопоставляет сертификат учетной записи
Windows.
Синтаксис
IIsCertMapper.CreateMapping сертификат, учетная_запись_NT, пароль_NT, имя,
включено
Параметры
сертификат
Сертификат, являющийся строкой или массивом байтов. Обычно возвращается из
семейства ClientCertificate встроенного объекта Request ASP.
учетная_запись_NT
Строка учетной записи Windows.
пароль_NT
Строка пароля, соответствующая учетной_записи_NT.
имя
Понятное имя учетной записи.
включено
Значение TRUE включает сопоставление, значение FALSE отключает
сопоставление.
Пример программы
<%
Dim CertObj, vCert
vCert = Request.ClientCertificate("CERTIFICATE")
Set CertObj = GetObject("IIS://..path../IIsCertMapper")
CertObj.CreateMapping vCert, "MYACCT", "MYPASS", "My Name", True
%>
См. также
DeleteMapping, GetMapping, SetAcct, SetEnabled, SetName, SetPwd
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
DeleteMapping
Метод DeleteMapping объекта IIsCertMapper удаляет существующее сопоставление
сертификата. Имеются четыре способа поиска сопоставлений: по сертификату, по имени,
по учетной записи Windows и по числовому индексу.
Синтаксис
IIsCertMapper.DeleteMapping способ, ключ
Параметры
способ
Способ поиска сопоставления. Допустимы способы поиска 1, 2, 3 и 4. Способ 1
является поиском по сертификату, способ 2 — по имени, способ 3 — по учетной
записи Windows, а способ 4 — по номеру индекса (например, «1», «2» и т.д.)
ключ
Ключ для использования при поиске заданным способом. При использовании
способа 1 ключ задает сертификат. При использовании способа 2 ключ задает имя.
При использовании способа 3 ключ задает учетную запись Windows. При
использовании способа 4 ключ задает числовой индекс (например, «1», «2» и т.д.)
Пример программы
<%
Dim CertObj
Set CertObj = GetObject("IIS://..path../IIsCertMapper")
'Поиск по учетной записи Windows.
CertObj.DeleteMapping 3, "MYACCT"
%>
См. также
CreateMapping, GetMapping, SetAcct, SetEnabled, SetName, SetPwd
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
GetMapping
Метод GetMapping объекта IIsCertMapper получает сертификат и данные сопоставления
из существующего сопоставления сертификата. Имеются четыре способа поиска
сопоставлений: по сертификату, по имени, по учетной записи Windows и по числовому
индексу. Полученное сопоставление заносится в указанные переменные параметров.
Синтаксис
IIsCertMapper.GetMapping способ, ключ, сертификат, учетная_запись_NT, пароль_NT,
имя, включено
Параметры
способ
Способ поиска сопоставления. Допустимы способы поиска 1, 2, 3 и 4. Способ 1
является поиском по сертификату, способ 2 — по имени, способ 3 — по учетной
записи Windows, а способ 4 — по номеру индекса (например, «1», «2» и т.д.)
ключ
Ключ для использования при поиске заданным способом. При использовании
способа 1 ключ задает сертификат. При использовании способа 2 ключ задает имя.
При использовании способа 3 ключ задает учетную запись Windows. При
использовании способа 4 ключ задает числовой индекс (например, «1», «2» и т.д.)
сертификат
Возвращенный сертификат.
учетная_запись_NT
Возвращенная учетная запись Windows.
пароль_NT
Возвращенный пароль учетной записи Windows.
имя
Возвращенное понятное имя учетной записи Windows.
включено
Возвращенное значение TRUE, если сопоставление включено, или FALSE, если
сопоставление отключено.
Пример программы
<%
Dim CertObj, vCert, NtAcct, NtPwd, strName, IEnabled
Set CertObj = GetObject("IIS://..path../IIsCertMapper")
'Поиск по учетной записи Windows.
CertObj.GetMapping 3, "MYACCT", vCert, NtAcct, NtPwd, strName, IEnabled
%>
См. также
CreateMapping, DeleteMapping, SetAcct, SetEnabled, SetName, SetPwd
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
SetAcct
Метод SetAcct объекта IIsCertMapper устанавливает новое значение для строки учетной
записи Windows в существующем сопоставлении сертификата. Имеются четыре способа
поиска сопоставлений: по сертификату, по имени, по учетной записи Windows и по
числовому индексу.
Синтаксис
IIsCertMapper.SetAcct способ, ключ, учетная_запись_NT
Параметры
способ
Способ поиска сопоставления. Допустимы способы поиска 1, 2, 3 и 4. Способ 1
является поиском по сертификату, способ 2 — по имени, способ 3 — по учетной
записи Windows, а способ 4 — по номеру индекса (например, «1», «2» и т.д.)
ключ
Ключ для использования при поиске заданным способом. При использовании
способа 1 ключ задает сертификат. При использовании способа 2 ключ задает имя.
При использовании способа 3 ключ задает учетную запись Windows. При
использовании способа 4 ключ задает числовой индекс (например, «1», «2» и т.д.)
учетная_запись_NT
Новое значение для строки учетной записи Windows.
Пример программы
<%
Dim CertObj
Set CertObj = GetObject("IIS://..path../IIsCertMapper")
'Поиск по учетной записи Windows.
CertObj.SetAcct 3, "MYACCT", "NewAccount"
%>
См. также
CreateMapping, DeleteMapping, GetMapping, SetEnabled, SetName, SetPwd
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
SetEnabled
Метод SetEnabled объекта IIsCertMapper включает или отключает существующее
сопоставление сертификата. Имеются четыре способа поиска сопоставлений: по
сертификату, по имени, по учетной записи Windows и по числовому индексу.
Синтаксис
IIsCertMapper.SetEnabled способ, ключ, включено
Параметры
способ
Способ поиска сопоставления. Допустимы способы поиска 1, 2, 3 и 4. Способ 1
является поиском по сертификату, способ 2 — по имени, способ 3 — по учетной
записи Windows, а способ 4 — по номеру индекса (например, «1», «2» и т.д.)
ключ
Ключ для использования при поиске заданным способом. При использовании
способа 1 ключ задает сертификат. При использовании способа 2 ключ задает имя.
При использовании способа 3 ключ задает учетную запись Windows. При
использовании способа 4 ключ задает числовой индекс (например, «1», «2» и т.д.)
включено
Значение TRUE включает сопоставление, значение FALSE отключает
сопоставление.
Пример программы
<%
Dim CertObj
Set CertObj = GetObject("IIS://..path../IIsCertMapper")
'Поиск по учетной записи Windows.
CertObj.SetEnabled 3, "MYACCT", True
%>
См. также
CreateMapping, DeleteMapping, GetMapping, SetAcct, SetName, SetPwd
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
SetName
Метод SetName объекта IIsCertMapper устанавливает новое значение для строки имени в
существующем сопоставлении сертификата. Имеются четыре способа поиска
сопоставлений: по сертификату, по имени, по учетной записи Windows и по числовому
индексу.
Синтаксис
IIsCertMapper.SetName способ, ключ, имя
Параметры
способ
Способ поиска сопоставления. Допустимы способы поиска 1, 2, 3 и 4. Способ 1
является поиском по сертификату, способ 2 — по имени, способ 3 — по учетной
записи Windows, а способ 4 — по номеру индекса (например, «1», «2» и т.д.)
ключ
Ключ для использования при поиске заданным способом. При использовании
способа 1 ключ задает сертификат. При использовании способа 2 ключ задает имя.
При использовании способа 3 ключ задает учетную запись Windows. При
использовании способа 4 ключ задает числовой индекс (например, «1», «2» и т.д.)
имя
Новое значение для строки имени.
Пример программы
<%
Dim CertObj
Set CertObj = GetObject("IIS://..path../IIsCertMapper")
'Поиск по учетной записи Windows.
CertObj.SetName 3, "MYACCT", "NewName"
%>
См. также
CreateMapping, DeleteMapping, GetMapping, SetAcct, SetEnabled, SetPwd
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
SetPwd
Метод SetPwd объекта IIsCertMapper устанавливает новое значение для строки пароля
Windows в существующем сопоставлении сертификата. Имеются четыре способа поиска
сопоставлений: по сертификату, по имени, по учетной записи Windows и по числовому
индексу.
Синтаксис
IIsCertMapper.SetPwd способ, ключ, пароль
Параметры
способ
Способ поиска сопоставления. Допустимы способы поиска 1, 2, 3 и 4. Способ 1
является поиском по сертификату, способ 2 — по имени, способ 3 — по учетной
записи Windows, а способ 4 — по номеру индекса (например, «1», «2» и т.д.)
ключ
Ключ для использования при поиске заданным способом. При использовании
способа 1 ключ задает сертификат. При использовании способа 2 ключ задает имя.
При использовании способа 3 ключ задает учетную запись Windows. При
использовании способа 4 ключ задает числовой индекс (например, «1», «2» и т.д.)
пароль
Новое значение для строки пароля Windows.
Пример программы
<%
Dim CertObj
Set CertObj = GetObject("IIS://..path../IIsCertMapper")
'Поиск по учетной записи Windows.
CertObj.SetPwd 3, "MYACCT", "NewPassword"
%>
См. также
CreateMapping, DeleteMapping, GetMapping, SetAcct, SetEnabled, SetName
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
IIsCompressionSchemes
IIsCompressionSchemes является объектом-контейнером ADSI, содержащим отдельные
схемы сжатия HTTP 1.1, доступные для IIS и представляемые объектом ADSI
IIsCompressionScheme. Кроме того, в объекте IIsCompressionSchemes хранятся все
глобальные параметры сжатия данной установленной копии IIS.
ADsPath
IIS://имя_компьютера/W3SVC/Filters/Compression/Parameters
где имя_компьютера может быть любым именем или строкой «LocalHost».
Синтаксис
результат = объект.метод
результат = объект.свойство
Обозначения
результат
Переменная, получающая значение, возвращаемое методом.
объект
Переменная, ссылающаяся на объект IIsCompressionSchemes. Обычно это
результат предшествующей операции GetObject.
метод или свойство
Определенный метод или свойство объекта, которые требуется использовать.
Может содержать
IIsCompressionScheme
Свойства
Свойства объекта ADSI
Свойства объекта-контейнера ADSI
Свойства метабазы
HcCacheControlHeader
HcIoBufferSize
HcCompressionBufferSize
HcMaxDiskSpaceUsage
HcCompressionDirectory
HcMaxQueueLength
HcDoDiskSpaceLimiting
HcMinFileSizeForComp
HcDoDynamicCompression
HcNoCompressionForHttp10
HcDoOnDemandCompression HcNoCompressionForProxies
HcDoStaticCompression
HcNoCompressionForRange
HcExpiresHeader
HcSendCacheHeaders
HcFilesDeletedPerDiskFree
Методы
Методы объекта ADSI
Обычные методы для объектов ADSI.
Методы объекта-контейнера ADSI
Обычные методы для объектов-контейнеров
ADSI.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
IIsCompressionScheme
Объект IIS Admin IIsCompressionScheme является объектом ADSI, содержащим сведения
о конфигурации отдельной схемы сжатия. Все экземпляры объекта
IIsCompressionScheme содержатся в объекте IIsCompressionSchemes.
ADsPath
IIS://имя_компьютера/W3SVC/Filters/Compression/Scheme
где имя_компьютера может быть любым именем или строкой «LocalHost».
Синтаксис
результат = объект.метод
результат = объект.свойство
Обозначения
результат
Переменная, получающая значение, возвращаемое методом.
объект
Переменная, ссылающаяся на объект IIsCompressionScheme. Обычно это
результат предшествующей операции GetObject.
метод или свойство
Определенный метод или свойство объекта, которые требуется использовать.
Свойства
Свойства объекта ADSI
Свойства метабазы
HcCompressionDll
HcFileExtensions
HcCreateFlags
HcMimeType
HcDoDynamicCompression
HcOnDemandCompLevel
HcDoStaticCompression
HcPriority
HcDoOnDemandCompression HcScriptFileExtensions
HcDynamicCompressionLevel
Методы
Методы объекта ADSI
Обычные методы для объектов ADSI.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
IIsComputer
Объект IIsComputer служит для установки значений глобальных свойств метабазы,
управляющих работой IIS. Объект IIsComputer также предоставляет методы управления
архивированием метабазы. Эти методы позволяют хранить несколько архивов в
долговременном хранилище, восстанавливать требуемую версию метабазы из архива,
подсчитывать и удалять архивы.
Объект IIsComputer является объектом-контейнером ADSI.
ADsPath
IIS://имя_компьютера
где имя_компьютера может быть любым именем или строкой «LocalHost».
Синтаксис
результат = объект.метод
Обозначения
результат
Переменная, получающая значение, возвращаемое методом.
объект
Переменная, содержащая объект IIsComputer. Обычно это результат
предшествующей операции GetObject.
метод
Выбранный метод объекта.
Может содержать
IIsFtpService
IIsMimeMap
IIsLogModules IIsWebService
Свойства
Обычные свойства для объектов ADSI.
Свойства объекта ADSI
Свойства метабазы
MaxBandWidth
MimeMap
MaxBandWidthBlocked
Методы
Backup
Сохранение метабазы в долговременном
хранилище.
BackupWithPassword
Сохранение метабазы в долговременном
хранилище с необязательным паролем.
DeleteBackup
Удаление архива метабазы из
долговременного хранилища.
EnumBackups
Перечисление архивов метабазы в
долговременном хранилище.
Restore
Восстановление архива метабазы из
долговременного хранилища.
RestoreWithPassword
Восстановление метабазы из архива с
использованием необязательного пароля,
заданного при использовании метода
BackupWithPassword.
См. также
Методы объекта ADSI
Обычные методы для объектов ADSI.
Методы объекта-контейнера ADSI
Обычные методы для объектов-контейнеров
ADSI.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Backup
Метод Backup объекта IIsComputer служит для архивации метабазы в указанное
расположение. Длина строки с указанием расположения не должна превышать 100 знаков.
В одной папке можно размещать несколько архивов метабазы.
Синтаксис
IIsComputer.Backup расположение, версия, флаги
Параметры
расположение
Строка длиной до 100 знаков, указывающая на расположение архива. Механизм
хранения будет определен IIS. Если задана пустая строка, архивация будет
выполнена в расположении, используемом по умолчанию.
версия
Номер версии, который будет присвоен архиву. Он не должен превышать значение
MD_BACKUP_MAX_VERSION. Может принимать одно из приведенных ниже
значений.
MD_BACKUP_HIGHEST_VERSION
Перезапись наибольшей из
существующих версий архивов в
указанном расположении.
MD_BACKUP_NEXT_VERSION
Использование следующего номера
версии архива, доступного в указанном
расположении.
флаги
Один или несколько флагов из приведенных ниже.
MD_BACKUP_FORCE_BACKUP
Выполнение архивации, даже если
операция SaveData, вызываемая
MD_BACKUP_SAVE_FIRST, не будет
выполнена.
MD_BACKUP_OVERWRITE
Выполнение архивации, даже если архив
с такими же именем и версией уже
существует в указанном расположении,
с перезаписью архива при
необходимости.
MD_BACKUP_SAVE_FIRST
Выполнение операции SaveData перед
архивацией. Используется по
умолчанию, если флаги не заданы.
Примечания
IIS определяет механизм хранения архивов, так что расположение, в котором
предполагается создавать архивы, не нужно преобразовывать в определенный каталог,
файл или базу данных. В данной версии архивы метабазы хранятся в виде файлов в
каталоге system32\inetsrv\MetaBack.
Важно! Средства архивации и восстановления метабазы предназначены для работы с
версиями метабазы, а не для копирования метабазы на другие компьютеры. Однако, архив
необязательно восстанавливать именно на том компьютере, с которого была выполнена
архивация. Дополнительные сведения об архивации метабазы содержатся в разделе
«Архивация метабазы» документации по IIS.
Пример программы
<%
Dim ComputerObj, iFlags
Set ComputerObj = GetObject("IIS://LocalHost")
'Архивация со следующим доступным номером версии.
'Установка флагов для предварительного сохранения метабазы и
'архивации даже при невозможности сохранения.
iFlags = (MD_BACKUP_SAVE_FIRST or MD_BACKUP_FORCE_BACKUP)
ComputerObj.Backup "MyBackups", MD_BACKUP_NEXT_VERSION, iFlags
%>
См. также
DeleteBackup, EnumBackups, Restore
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
BackupWithPassword
Метод BackupWithPassword объекта IIsComputer служит для архивации метабазы в
указанное расположение. Длина строки с указанием расположения не должна превышать
100 знаков. В одной папке можно размещать несколько архивов метабазы.
Синтаксис
IIsComputer.BackupWithPassword расположение, версия, флаги, пароль
Параметры
расположение
Строка длиной до 100 знаков, указывающая на расположение архива. Механизм
хранения будет определен IIS. Если задана пустая строка, архив будет создан в
расположении, используемом по умолчанию.
версия
Номер версии, который будет присвоен архиву. Он не должен превышать значение
MD_BACKUP_MAX_VERSION. Может принимать одно из приведенных ниже
значений.
MD_BACKUP_HIGHEST_VERSION
Перезапись наибольшей из
существующих версий архивов в
указанном расположении.
MD_BACKUP_NEXT_VERSION
Использование следующего номера
версии архива, доступного в указанном
расположении.
флаги
Один или несколько флагов из приведенных ниже.
MD_BACKUP_FORCE_BACKUP
Выполнение архивации, даже если
операция SaveData, вызываемая
MD_BACKUP_SAVE_FIRST, не будет
выполнена.
MD_BACKUP_OVERWRITE
Выполнение архивации, даже если архив
с такими же именем и версией уже
существует в указанном расположении,
с перезаписью архива при
необходимости.
MD_BACKUP_SAVE_FIRST
Выполнение операции SaveData перед
архивацией. Используется по
умолчанию, если флаги не заданы.
пароль
Необязательный параметр. Действительный зашифрованный пароль.
Примечания
IIS определяет механизм хранения архивов, так что расположение, в котором
предполагается создавать архивы, не нужно преобразовывать в определенный каталог,
файл или базу данных. Архивы метабазы сохраняются в виде файлов в папке
«system32\inetsrv\MetaBack».
Важно! Средства архивации и восстановления метабазы предназначены для работы с
версиями метабазы, а не для копирования метабазы на другие компьютеры. Однако, архив
необязательно восстанавливать именно на том компьютере, с которого была выполнена
архивация. Дополнительные сведения об архивации метабазы содержатся в разделе
«Архивация метабазы» документации по IIS.
Пример программы
<%
Dim ComputerObj, iFlags
Set ComputerObj = GetObject("IIS://LocalHost")
'Архивация со следующим доступным номером версии.
'Установка флагов для предварительного сохранения метабазы и
'архивации даже при невозможности сохранения.
iFlags = (MD_BACKUP_SAVE_FIRST or MD_BACKUP_FORCE_BACKUP)
ComputerObj.BackupWithPassword "MyBackups", MD_BACKUP_NEXT_VERSION, iFlags,
"MyP@ssWOrd"
%>
См. также
DeleteBackup, EnumBackups, RestoreWithPassword
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
DeleteBackup
Метод DeleteBackup объекта IIsComputer служит для удаления архива метабазы из
указанного расположения.
Синтаксис
IIsComputer.DeleteBackup расположение, версия
Параметры
расположение
Строка длиной до 100 знаков, указывающая на расположение архива. Если задана
пустая строка, архив будет удален из расположения, используемого по умолчанию.
версия
Номер версии архива, который требуется удалить из указанного расположения, или
одна из следующих констант.
MD_BACKUP_HIGHEST_VERSION
Удаление наибольшей из существующих
версий архивов в указанном
расположении.
Пример программы
<%
Dim ComputerObj
Set ComputerObj = GetObject("IIS://LocalHost")
'Удаление архива под номером 1.
ComputerObj.DeleteBackup "MyBackups", 1
%>
См. также
Backup, EnumBackups, Restore
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
EnumBackups
Метод EnumBackups объекта IIsComputer служит для перечисления архивов метабазы,
хранящихся в одном или нескольких расположениях, получения расположения, номера
версии и даты создания каждого архива.
Синтаксис
IIsComputer.EnumBackups расположение, индекс, версия, расположение_архива,
дата_время
Параметры
расположение
Строка длиной до 100 знаков, указывающая на расположение архива. Если задана
пустая строка, будет произведен поиск по всем расположениям архивов.
индекс
Индекс найденного архива. Последовательно просматриваются индексы, начиная с
0, с шагом 1, пока не будет возвращено значение
MD_ERROR_DATA_NOT_FOUND.
версия
Номер версии найденного архива.
расположение_архива
Расположение найденного архива.
дата_время
Дата в время создания архива в формате UTC (Universal Time Coordinate), ранее —
GMT (Greenwich Mean Time).
Пример программы
<%@ LANGUAGE=VBScript %>
<SCRIPT LANGUAGE = "JScript" RUNAT = SERVER>
var TempDate = new Date();
TempDif = TempDate.getTimezoneOffset();
Session("sTempDif") = TempDif;
</SCRIPT>
<%
Dim CompObj, Index, Version, Location, GMTDate, LocDate, MinDif
MinDif = Session("sTempDif")
On Error Resume Next
Set CompObj = GetObject("IIS://LocalHost")
Index = 0
' Iterate until method returns an error.
Do While True
' Задание пустой строки расположения подразумевает просмотр всех
расположений.
CompObj.EnumBackups "", Index, Version, Location, GMTDate
If Err.Number <> 0 Then
' Если возвращена ошибка, значит, уже перечислены всех архивы.
Exit Do
End If
Response.Write Version & ", "
Response.Write Location & ", "
Response.Write GMTDate & ", "
' Преобразование в локальные дату и время сервера.
LocDate = DateAdd("n", (-MinDif), GMTDate)
Response.Write "(" & LocDate & ")"
Response.Write "<BR>"
Index = Index + 1
Loop
%>
См. также
Backup, DeleteBackup, Restore
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Restore
Метод Restore объекта IIsComputer служит для восстановления метабазы из указанного
архива. Операция восстановления останавливает все службы, зависящие от IISADMIN,
включая все серверы, пока восстановление не будет завершено, а затем перезапускает все
службы. Поэтому, если восстановление метабазы выполняется из сценария на странице
ASP, необходимо задать имя компьютера, не совпадающее с тем, на котором выполняется
данный сценарий. В качестве имени компьютера нельзя использовать строку LocalHost.
Следует очень внимательно учитывать эту приостановку работы служб при
восстановлении метабазы из архива.
Синтаксис
IIsComputer.Restore расположение, версия, флаги
Параметры
расположение
Строка длиной до 100 знаков, указывающая на расположение архива. Если задана
пустая строка, архив будет получен из расположения, используемого по
умолчанию.
версия
Номер версии архива, который требуется восстановить из указанного
расположения, или одна из следующих констант.
MD_BACKUP_HIGHEST_VERSION
Восстановление наибольшей из
существующих версий архивов в
указанном расположении.
флаги
Не используется. Следует указывать нулевое значение.
Пример программы
<%
Dim ComputerObj, ComputerName
'Восстановление метабазы на другом компьютере.
ComputerName = "MyOtherComputer"
'При выполнении на сервере сценариев Windows Script Host можно использовать
строку LocalHost.
Set ComputerObj = GetObject("IIS://" & ComputerName)
'Восстановление архива с наибольшим номером версии из папки MyBackups.
ComputerObj.Restore "MyBackups", MD_BACKUP_HIGHEST_VERSION, 0
%>
Примечания
В сценариях, запускаемых в окне сеанса MS-DOS с помощью Cscript.exe, можно
использовать в методе Restore строку LocalHost. Дополнительные сведения содержатся в
документации по Windows Script Host, входящую в документацию по Windows.
Важно! Средства архивации и восстановления метабазы предназначены для работы с
версиями метабазы, а не для копирования метабазы на другие компьютеры. Однако, архив
необязательно восстанавливать именно на том компьютере, с которого была выполнена
архивация. Дополнительные сведения о восстановлении из архива содержатся в разделе
«Восстановление метабазы» документации по IIS.
См. также
Backup, EnumBackups, DeleteBackup
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
RestoreWithPassword
Метод RestoreWithPassword объекта IIsComputer служит для восстановления метабазы
из архива и требует указания действительного пароля (но только если он был задан при
вызове метода BackupWithPassword). Операция восстановления останавливает все
службы, зависящие от IISADMIN, включая все серверы, пока восстановление не будет
завершено, а затем перезапускает все службы. Поэтому, если восстановление метабазы
выполняется из сценария на странице ASP, необходимо задать имя компьютера (и
соответствующий пароль), не совпадающее с тем, на котором выполняется данный
сценарий. В качестве имени компьютера нельзя использовать строку LocalHost. Следует
очень внимательно учитывать эту приостановку работы служб при восстановлении
метабазы из архива.
Синтаксис
IIsComputer.RestoreWithPassword расположение, версия, флаги, пароль
Параметры
расположение
Строка длиной до 100 знаков, указывающая на расположение архива. Если задана
пустая строка, архив будет получен из расположения, используемого по
умолчанию.
версия
Номер версии архива, который требуется восстановить из указанного
расположения, или одна из следующих констант.
MD_BACKUP_HIGHEST_VERSION
Восстановление наибольшей из
существующих версий архивов в
указанном расположении.
флаги
Не используется. Следует указывать нулевое значение.
пароль
Необязательный параметр. Незашифрованный действительный пароль для
конечного компьютера. Этот пароль должен совпадать с паролем, заданным при
вызове метода BackupWithPassword.
Пример программы
<%
Dim ComputerObj, ComputerName
'Восстановление метабазы на другом компьютере.
ComputerName = "MyOtherComputer"
'При выполнении на сервере сценариев Windows Script Host можно использовать
строку LocalHost.
Set ComputerObj = GetObject("IIS://" & ComputerName)
'Восстановление архива с наибольшим номером версии из папки MyBackups.
ComputerObj.RestoreWithPassword "MyBackups", MD_BACKUP_HIGHEST_VERSION, 0,
"MyP@ssWOrd"
%>
Примечания
В сценариях, запускаемых в окне сеанса MS-DOS с помощью Cscript.exe, можно
использовать в методе RestoreWithPassword строку LocalHost. Дополнительные сведения
содержатся в документации по Windows Script Host, входящей в состав документации по
Windows.
Важно! Средства архивации и восстановления метабазы предназначены для работы с
версиями метабазы, а не для копирования метабазы на другие компьютеры. Однако, архив
необязательно восстанавливать именно на том компьютере, с которого была выполнена
архивация. Дополнительные сведения о восстановлении из архива содержатся в разделе
«Восстановление метабазы» документации по IIS.
См. также
BackupWithPassword, EnumBackups, DeleteBackup
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
IIsCustomLogModule
Объект IIsCustomLogModule служит для настройки полей сведений специальных
журналов. Дополнительные сведения о специальных полях журналов содержатся в
разделе Setting Metabase Properties for Logging SDK платформы.
ADsPath
IIS://имя_компьютера/Logging/CustomLogging
IIS://имя_компьютера/Logging/CustomLogging/поле
IIS://имя_компьютера/Logging/CustomLogging/группа_полей
IIS://имя_компьютера/Logging/CustomLogging/группа_полей/поле
где имя_компьютера может быть любым именем или строкой «LocalHost».
Синтаксис
результат = объект.метод
Обозначения
результат
Переменная, получающая значение, возвращаемое методом.
объект
Переменная, содержащая объект IIsComputer. Обычно это результат
предшествующей операции GetObject.
метод
Выбранный метод объекта.
Свойства
Свойства объекта ADSI
Свойства метабазы
LogCustomPropertyDataType
LogCustomPropertyMask
LogCustomPropertyHeader
LogCustomPropertyName
LogCustomPropertyID
LogCustomPropertyServicesString
Методы
Методы объекта ADSI
Обычные методы для объектов ADSI.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
IIsFilter
Объект IIsFilter служит для установки свойств метабазы, влияющих на работу фильтров
ISAPI. Свойства фильтра можно устанавливать на уровне веб-службы или для отдельного
веб-сервера.
Объект IIsFilter является объектом ADSI, но не является объектом-контейнером ADSI.
ADsPath
IIS://имя_компьютера/W3SVC/Filters/имя_фильтра
где имя_компьютера может быть любым именем или строкой «LocalHost».
или
IIS://имя_компьютера/W3SVC/N/Filters/имя_фильтра
где имя_компьютера может быть любым именем или строкой «LocalHost», а N —
номером веб-сервера.
Синтаксис
результат = объект.метод
Обозначения
результат
Переменная, получающая значение, возвращаемое методом.
объект
Переменная, содержащая объект IIsFilter. Обычно это результат предшествующей
операции GetObject.
метод
Выбранный метод объекта.
Свойства
Свойства объекта ADSI
Свойства метабазы
FilterDescription
NotifyNonSecurePort
FilterEnabled
NotifyOrderHigh
FilterFlags
NotifyOrderLow
FilterPath
NotifyOrderMedium
FilterState
NotifyPreProcHeaders
NotifyAccessDenied
NotifyReadRawData
NotifyAuthentication
NotifySecurePort
NotifyEndOfNetSession NotifySendRawData
NotifyEndOfRequest
NotifySendResponse
NotifyLog
NotifyUrlMap
Методы
Методы объекта ADSI
Обычные методы для объектов ADSI.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
IIsFilters
Объект IIsFilters является объектом-контейнером ADSI, содержащим семейство объектов
IIsFilter. Объект IIsFilters служит для установки свойства FilterLoadOrder, задающего
порядок загрузки фильтров, и для перечисления фильтров. Объект IIsFilters служит для
управления фильтрами на уровне веб-службы или отдельного веб-сервера.
Объект IIsFilters является объектом-контейнером ADSI.
ADsPath
IIS://имя_компьютера/W3SVC/Filters
где имя_компьютера может быть любым именем или строкой «LocalHost».
или
IIS://имя_компьютера/W3SVC/N/Filters
где имя_компьютера может быть любым именем или строкой «LocalHost», а N —
номером веб-сервера.
Синтаксис
результат = объект.метод
Обозначения
результат
Переменная, получающая значение, возвращаемое методом.
объект
Переменная, содержащая объект IIsFilters. Обычно это результат предшествующей
операции GetObject.
метод
Выбранный метод объекта.
Может содержать
IIsFilter
Свойства
Свойства объекта ADSI
Свойства метабазы
FilterLoadOrder
Методы
Методы объекта ADSI
Обычные методы для объектов ADSI.
Методы объекта-контейнера ADSI
Обычные методы для объектов-контейнеров
ADSI.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
IIsFtpInfo
Некоторые свойства метабазы, связанные с FTP-службой, хранятся в подразделе Info
раздела MSFTPSVC. Объект IIsFtpInfo служит для установки значений этих свойств.
Объект IIsFtpInfo является объектом ADSI, но не является объектом-контейнером ADSI.
ADsPath
IIS://имя_компьютера/MSFTPSVC/Info
где имя_компьютера может быть любым именем или строкой «LocalHost».
Синтаксис
результат = объект.метод
Обозначения
результат
Переменная, получающая значение, возвращаемое методом.
объект
Переменная, содержащая объект IIsFtpInfo. Обычно это результат
предшествующей операции GetObject.
метод
Выбранный метод объекта.
Свойства
Свойства объекта ADSI
Свойства метабазы
LogModuleList
Методы
Методы объекта ADSI
Обычные методы для объектов ADSI.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
IIsFtpServer
Объект IIsFtpServer служит для установки свойств метабазы, относящихся к
определенному FTP-серверу, и наследуемых свойств метабазы для виртуальных каталогов
FTP. Определенные методы также позволяют управлять работой сервера. FTP-серверы
идентифицируются в метабазе по номерам их индексов. Номер первого FTP-сервера — 1,
второго — 2 и т.д.
Объект IIsFtpServer является объектом-контейнером ADSI. Дополнительные сведения об
объектах-контейнерах ADSI содержатся в разделе Возможности ADSI.
ADsPath
IIS://имя_компьютера/MSFTPSVC/N
где имя_компьютера может быть любым именем или строкой «LocalHost».
Синтаксис
результат = объект.метод
Обозначения
результат
Переменная, получающая значение, возвращаемое методом.
объект
Переменная, содержащая объект IIsFtpServer. Обычно это результат
предшествующей операции GetObject.
метод
Выбранный метод объекта.
Может содержать
IIsFtpVirtualDir
Свойства
Свойства объекта ADSI
Свойства метабазы
A–I
AccessFlags
ConnectionTimeout
AccessRead
DefaultLogonDomain
AccessWrite
DisableSocketPooling
AdminACL
DontLog
AllowAnonymous
ExitMessage
AnonymousOnly
FtpDirBrowseShowLongDate
AnonymousPasswordSync
GreetingMessage
AnonymousUserName
IPSecurity
AnonymousUserPass
Log...
LogAnonymous
LogExtFileTimeTaken
LogExtFileBytesRecv
LogExtFileUriQuery
LogExtFileBytesSent
LogExtFileUriStem
LogExtFileClientIp
LogExtFileUserAgent
LogExtFileComputerName
LogExtFileUserName
LogExtFileCookie
LogExtFileWin32Status
LogExtFileDate
LogFileDirectory
LogExtFileFlags
LogFileLocaltimeRollover
LogExtFileHost
LogFilePeriod
LogExtFileHttpStatus
LogFileTruncateSize
LogExtFileMethod
LogNonAnonymous
LogExtFileProtocolVersion
LogOdbcDataSource
LogExtFileReferer
LogOdbcPassword
LogExtFileServerIp
LogOdbcTableName
LogExtFileServerPort
LogOdbcUserName
LogExtFileSiteName
LogPluginClsid
LogExtFileTime
LogType
M–S
MaxClientsMessage
ServerBindings
MaxConnections
ServerComment
MaxEndpointConnections
ServerListenBacklog
MSDOSDirOutput
ServerListenTimeout
Realm
ServerSize
ServerAutoStart
ServerState
Методы
Continue
Возобновление работы сервера.
Pause
Приостановка работы сервера.
Start
Запуск работы сервера.
Status
Получение текущего состояния сервера.
Stop
Остановка работы сервера.
См. также
Методы объекта ADSI
Обычные методы для объектов ADSI.
Методы объекта-контейнера ADSI
Обычные методы для объектов-контейнеров
ADSI.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Continue
Метод Continue объекта IIsFtpServer возобновляет работу сервера после приостановки.
Синтаксис
IIsFtpServer.Continue
Пример программы
<%
Dim ServerObj
'Возобновление работы второго FTP-сервера.
Set ServerObj = GetObject("IIS://LocalHost/MSFTPSVC/2")
ServerObj.Continue
%>
См. также
Start, Pause, Stop, Status
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Pause
Метод Pause объекта IIsFtpServer приостанавливает работу сервера.
Синтаксис
IIsFtpServer.Pause
Пример программы
<%
Dim ServerObj
'Приостановка работы второго FTP-сервера.
Set ServerObj = GetObject("IIS://LocalHost/MSFTPSVC/2")
ServerObj.Pause
%>
См. также
Start, Continue, Stop, Status
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Start
Метод Start объекта IIsFtpServer запускает работу сервера.
Синтаксис
IIsFtpServer.Start
Пример программы
<%
Dim ServerObj
'Запуск работы второго FTP-сервера.
Set ServerObj = GetObject("IIS://LocalHost/MSFTPSVC/2")
ServerObj.Start
%>
См. также
Pause, Continue, Stop, Status
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Status
Метод Status объекта IIsFtpServer возвращает целое число, обозначающее текущее
состояние сервера. Возможные значения: 1 (запуск), 2 (запущен), 3 (остановка), 4
(остановлен), 5 (приостановка), 6 (приостановлен), 7 (возобновление работы).
Синтаксис
IIsFtpServer.Status
См. также
Start, Pause, Continue, Stop
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Stop
Метод Stop объекта IIsFtpServer останавливает работу сервера.
Синтаксис
IIsFtpServer.Stop
Пример программы
<%
Dim ServerObj
'Остановка работы второго FTP-сервера.
Set ServerObj = GetObject("IIS://LocalHost/MSFTPSVC/2")
ServerObj.Stop
%>
См. также
Start, Pause, Continue, Status
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
IIsFtpService
Объект IIsFtpService служит для установки значений свойств метабазы, управляющих
FTP-узлами и виртуальными каталогами FTP. Объект IIsFtpService является объектомконтейнером ADSI.
ADsPath
IIS://имя_компьютера/MSFTPSVC
где имя_компьютера может быть любым именем или строкой «LocalHost».
Синтаксис
результат = объект.метод
Обозначения
результат
Переменная, получающая значение, возвращаемое методом.
объект
Переменная, содержащая объект IIsFtpService. Обычно это результат
предшествующей операции GetObject.
метод
Выбранный метод объекта.
Может содержать
IIsFtpServer IIsFtpInfo
Свойства
Свойства объекта ADSI
Свойства метабазы
A–I
AccessFlags
ConnectionTimeout
AccessRead
DirectoryLevelsToScan
AccessWrite
DisableSocketPooling
AdminACL
DontLog
AllowAnonymous
ExitMessage
AnonymousOnly
FtpDirBrowseShowLongDate
AnonymousPasswordSync
GreetingMessage
AnonymousUserName
IPSecurity
AnonymousUserPass
Log...
LogAnonymous
LogExtFileUriQuery
LogExtFileBytesRecv
LogExtFileUriStem
LogExtFileBytesSent
LogExtFileUserAgent
LogExtFileClientIp
LogExtFileUserName
LogExtFileComputerName
LogExtFileWin32Status
LogExtFileCookie
LogFileDirectory
LogExtFileDate
LogFileLocaltimeRollover
LogExtFileFlags
LogFilePeriod
LogExtFileHost
LogFileTruncateSize
LogExtFileHttpStatus
LogNonAnonymous
LogExtFileMethod
LogOdbcDataSource
LogExtFileProtocolVersion
LogOdbcPassword
LogExtFileReferer
LogOdbcTableName
LogExtFileServerIp
LogOdbcUserName
LogExtFileServerPort
LogPluginClsiId
LogExtFileSiteName
LogPluginClsid
LogExtFileTime
LogType
LogExtFileTimeTaken
M–S
MaxClientsMessage
ServerBindings
MaxConnections
ServerComment
MaxEndpointConnections
ServerListenBacklog
MSDOSDirOutput
ServerListenTimeout
Realm
ServerSize
ServerAutoStart
Методы
Методы объекта ADSI
Обычные методы для объектов ADSI.
Методы объекта-контейнера ADSI
Обычные методы для объектов-контейнеров
ADSI.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
IIsFtpVirtualDir
Объект IIsFtpVirtualDir служит для установки свойств метабазы, относящихся к одному
или всем виртуальным каталогам FTP на FTP-сервере. При использовании этого объекта в
корневом виртуальном каталоге сервера (например .../MSFTPSVC/2/ROOT) наследуемые
свойства будут применены ко всем виртуальным подкаталогам FTP корневого
виртуального каталога второго FTP-сервера. Можно устанавливать свойства для
определенного виртуального каталога FTP, используя объект IIsFtpVirtualDir для
определенного виртуального каталога (например
.../MSFTPSVC/2/ROOT/виртуальный_каталог).
Объект IIsFtpVirtualDir является объектом-контейнером ADSI.
ADsPath
Для корневого виртуального каталога сервера:
IIS://имя_компьютера/MSFTPSVC/N/ROOT
где имя_компьютера может быть любым именем или строкой «LocalHost».
Для определенного виртуального каталога:
IIS://имя_компьютера/MSFTPSVC/N/ROOT/виртуальный_каталог
где имя_компьютера может быть любым именем или строкой «LocalHost».
Синтаксис
результат = объект.метод
Обозначения
результат
Переменная, получающая значение, возвращаемое методом.
объект
Переменная, содержащая объект IIsFtpVirtualDir. Обычно это результат
предшествующей операции GetObject.
метод
Выбранный метод объекта.
Может содержать
IIsFtpVirtualDir
Свойства
Свойства объекта ADSI
Свойства метабазы
AccessFlags
IPSecurity
AccessRead
Path
AccessWrite
UNCPassword
DontLog
UNCUserName
FtpDirBrowseShowLongDate
Методы
Методы объекта ADSI
Обычные методы для объектов ADSI.
Методы объекта-контейнера ADSI
Обычные методы для объектов-контейнеров
ADSI.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
IIsIPSecurity
Объект IIsIPSecurity является специальным объектом ADSI, служащим для установки
прав доступа по IP-адресу и доменному адресу.
Логическое свойство IIsIPSecurity, GrantByDefault, определяет, предоставляется или
запрещается доступ пользователям по умолчанию.
Если свойство GrantByDefault имеет значение TRUE, всем IP-адресам и доменам
Интернета, кроме указанных отдельно, предоставляется доступ. Для запрета доступа
отдельным IP-адресам и доменам служат свойства IPDeny и DomainDeny.
Примечание. Свойства IPDeny и DomainDeny учитываются, только если свойство
GrantByDefault имеет значение TRUE.
Если свойство GrantByDefault имеет значение FALSE, по умолчанию доступ запрещен
для всех IP-адресов и доменов, кроме указанных отдельно. Свойства IPGrant и
DomainGrant служат для разрешения доступа определенным IP-адресам и доменам.
Примечание. Свойства IPGrant и DomainGrant учитываются, только если свойство
GrantByDefault имеет значение FALSE.
ADsPath
Для корневого виртуального каталога сервера:
IIS://имя_компьютера/W3SVC/N/ROOT
где имя_компьютера может быть любым именем или строкой «LocalHost».
Для определенного виртуального каталога:
IIS://имя_компьютера/W3SVC/N/ROOT/виртуальный_каталог
где имя_компьютера может быть любым именем или строкой «LocalHost».
Синтаксис
результат = объект.метод
Обозначения
результат
Переменная, получающая значение, возвращаемое методом.
объект
Переменная, содержащая объект IIsIPSecurity. Обычно это результат
предшествующей операции GetObject.
метод
Выбранный метод объекта.
Допустимые расположения
Тип параметра
Путь в метабазе
IIsWebService
/LM/W3SVC/
IIsWebServer
/LM/W3SVC/1
IIsWebFile
/LM/W3SVC/1/ROOT/виртуальный_каталог/text.htm
IIsWebDirectory
/LM/W3SVC/1/ROOT/виртуальный_каталог/подкаталог
IIsFtpVirtualDir
/LM/SMFTPSVC/1/ROOT/виртуальный_каталог
IIsFtpService
/LM/SMFTPSVC/
IIsFtpServer
/LM/SMFTPSVC/1
IIsWebVirtualDir
/LM/W3SVC/1/ROOT/Samples
Свойства IIsIPSecurity
IPDeny
Этот метод получает массив IP-адресов,
которым не разрешен доступ к серверу.
IPGrant
Этот метод получает массив IP-адресов,
которым разрешен доступ к серверу.
DomainDeny
Этот метод получает массив доменов,
которым не разрешен доступ к серверу.
DomainGrant
Этот метод получает массив доменов,
которым разрешен доступ к серверу.
GrantByDefault
Это логическое свойство определяет,
разрешен по умолчанию доступ или нет.
Если свойство GrantByDefault имеет
значение TRUE, можно использовать
свойства IPDeny и DomainDeny для запрета
доступа определенным IP-адресам и
доменам. Если свойство GrantByDefault
имеет значение FALSE, можно
использовать свойства IPGrant и
DomainGrant для разрешения доступа по
IP-адресам и доменам.
Примечание. Это свойство используется
только в контексте объекта IIsIPSecurity.
Свойства метабазы
Свойства объекта ADSI
Список свойств, допустимых для
использования с несколькими объектами.
IPSecurity
Это свойство задает ограничения доступа к
адресу URL по IP-адресу. Оно служит для
разрешения или запрета доступа к
обозревателям клиентов на основе IP-адреса
или имени узла DNS.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
IPDeny
Свойство IPDeny объекта IIsIPSecurity служит для изменения списка IP-адресов,
хранящихся в массиве, которым не разрешен доступ к серверу.
Синтаксис
объект.IPDeny = "IP-адрес,маска_подсети"
переменная = объект.IPDeny
Параметры
объект
Объект IIS Admin типа IIsIPSecurity.
IP-адрес
IP-адрес, для которого требуется запретить доступ к серверу.
маска_подсети
Маска подсети для указанного IP-адреса.
Пример программы
<%
' Не забудьте включить встроенную проверку подлинности Windows и
' отключить анономный доступ, либо будет получена ошибка сервера 500.
Dim SecObj
Dim MyIPSec
Dim IPList
' Получение объекта IIS, хранящего сведения об используемом по умолчанию
узле.
' Это может быть любой корневой каталог, виртуальный каталог или
' каталог IIS://LocalHost/W3SVC для глобальных свойств.
Set SecObj = GetObject("IIS://LocalHost/W3SVC/1/Root")
' Получение объекта IIsIPSecurity.
Set MyIPSec = SecObj.IPSecurity
' Убедитесь, что GrantByDefault=TRUE, либо изменения не будут засчитаны
If (FALSE = MyIPSec.GrantByDefault) Then
Response.Write
"<BR>Значение GrantByDefault не равно TRUE. Будет установлено значение
TRUE.<BR>"
MyIPSec.GrantByDefault = TRUE
End If
' Получение списка запрещений в виде массива и добавление в него новых IPадресов
IPList = MyIPSec.IPDeny
Redim IPList (Ubound(IPList)+1)
IPList (Ubound(IPList)) = "123.0.0.1,255.255.255.0"
' Сохранение новых списков обратно в метабазу в два этапа и
' дальнейшая установка метабазы
MyIPSec.IPDeny = IPList
SecObj.IPSecurity = MyIPSec
SecObj.Setinfo
Response.Write "Ограничение IP-адресов установлено<BR>"
%>
См. также
IPGrant, DomainDeny, DomainGrant, GrantByDefault, IIsIPSecurity
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
IPGrant
Свойство IPGrant объекта IIsIPSecurity служит для изменения хранящегося в массиве
списка IP-адресов, которым разрешен доступ к серверу.
Синтаксис
объект.IPGrant = "IP-адрес,маска_подсети"
переменная = объект.IPGrant
Параметры
объект
Объект IIS Admin типа IIsIPSecurity.
IP-адрес
IP-адрес, для которого требуется разрешить доступ к серверу.
маска_подсети
Маска подсети для указанного IP-адреса.
Пример программы
<%
' Не забудьте включить встроенную проверку подлинности Windows и
' отключить анономный доступ, либо будет получена ошибка сервера 500.
Dim SecObj
Dim MyIPSec
Dim IPList
' Получение объекта IIS, хранящего сведения об используемом по умолчанию
узле.
' Это может быть любой корневой каталог, виртуальный каталог или
' каталог IIS://LocalHost/W3SVC для глобальных свойств.
Set SecObj = GetObject("IIS://LocalHost/W3SVC/1/Root")
' Получение объекта IIsIPSecurity.
Set MyIPSec = SecObj.IPSecurity
' Убедитесь, что GrantByDefault=FALSE, либо изменения не будут засчитаны
If (TRUE = MyIPSec.GrantByDefault) Then
Response.Write
"<BR>Значение GrantByDefault не равно FALSE. Будет установлено значение
FALSE.<BR>"
MyIPSec.GrantByDefault = FALSE
End If
' Получение списка разрешений в виде массива и добавление в него новых IPадресов
IPList = MyIPSec.IPGrant
Redim IPList (Ubound(IPList)+1)
IPList (Ubound(IPList)) = "123.0.0.1,255.255.255.0"
' Сохранение новых списков обратно в метабазу в два этапа и
' дальнейшая установка метабазы
MyIPSec.IPGrant = IPList
SecObj.IPSecurity = MyIPSec
SecObj.Setinfo
Response.Write "Ограничение IP-адресов установлено<BR>"
%>
См. также
IPDeny, DomainDeny, DomainGrant, GrantByDefault, IIsIPSecurity
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
DomainDeny
Свойство DomainDeny объекта IIsIPSecurity служит для изменения списка доменов,
которым не разрешен доступ к серверу.
Синтаксис
объект.DomainDeny = домен
переменная = объект.DomainDeny
Параметры
объект
Объект IIS Admin типа IIsIPSecurity.
домен
Домен, для которого требуется запретить доступ к серверу.
Пример программы
<%
' Не забудьте включить встроенную проверку подлинности Windows и
' отключить анономный доступ, либо будет получена ошибка сервера 500.
Dim SecObj
Dim MyIPSec
Dim DomainList
' Получение объекта IIS, хранящего сведения об используемом по умолчанию
узле.
' Это может быть любой корневой каталог, виртуальный каталог или
' каталог IIS://LocalHost/W3SVC для глобальных свойств.
Set SecObj = GetObject("IIS://LocalHost/W3SVC/1/Root")
' Получение объекта IIsIPSecurity.
Set MyIPSec = SecObj.IPSecurity
' Убедитесь, что GrantByDefault=TRUE, либо изменения не будут засчитаны
If (FALSE = MyIPSec.GrantByDefault) Then
Response.Write
"<BR>Значение GrantByDefault не равно TRUE. Будет установлено значение
TRUE.<BR>"
MyIPSec.GrantByDefault = TRUE
End If
' Получение списка запрещений в виде массива и добавление в него нового
домена
DomainList = MyIPSec.DomainDeny
Redim DomainList (Ubound(DomainList)+1)
DomainList (Ubound(DomainList)) = "somedomain.com"
' Сохранение новых списков обратно в метабазу в два этапа и
' дальнейшая установка метабазы
MyIPSec.DomainDeny = DomainList
SecObj.Setinfo
Response.Write "Ограничение IP-адресов установлено<BR>"
%>
См. также
IPDeny, IPGrant, DomainGrant, GrantByDefault, IIsIPSecurity
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
DomainGrant
Свойство DomainGrant объекта IIsIPSecurity служит для изменения списка доменов,
которым разрешен доступ к серверу.
Синтаксис
объект.DomainGrant = домен
переменная = объект.DomainGrant
Параметры
объект
Объект IIS Admin типа IIsIPSecurity.
домен
Домен, для которого требуется разрешить доступ к серверу.
Пример программы
<%
' Не забудьте включить встроенную проверку подлинности Windows и
' отключить анономный доступ, либо будет получена ошибка сервера 500.
Dim SecObj
Dim MyIPSec
Dim DomainList
' Получение объекта IIS, хранящего сведения об используемом по умолчанию
узле.
' Это может быть любой корневой каталог, виртуальный каталог или
' каталог IIS://LocalHost/W3SVC для глобальных свойств.
Set SecObj = GetObject("IIS://LocalHost/W3SVC/1/Root")
' Получение объекта IIsIPSecurity.
Set MyIPSec = SecObj.IPSecurity
' Убедитесь, что GrantByDefault=FALSE, либо изменения не будут засчитаны
If (TRUE = MyIPSec.GrantByDefault) Then
Response.Write
"<BR>Значение GrantByDefault не равно FALSE. Будет установлено значение
FALSE.<BR>"
MyIPSec.GrantByDefault = FALSE
End If
' Получение списка разрешений в виде массива и добавление в него новых
доменов
DomainList = MyIPSec.DomainGrant
Redim DomainList (Ubound(DomainList)+1)
DomainList (Ubound(DomainList)) = "somedomain.com"
' Сохранение новых списков обратно в метабазу в два этапа и
' дальнейшая установка метабазы
MyIPSec.DomainGrant = DomainList
SecObj.Setinfo
Response.Write "Ограничение IP-адресов установлено<BR>"
%>
См. также
IPDeny, IPGrant, DomainDeny, GrantByDefault, IIsIPSecurity
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
GrantByDefault
Свойство GrantByDefault объекта IIsIPSecurity служат для установки способа указания
доступа к серверу. Свойство GrantByDefault является логическим свойством,
определяющим по умолчанию разрешение доступа всем с исключениями или запрет
доступа всем с исключениями. Если свойство GrantByDefault имеет значение TRUE, всем
IP-адресам и доменам будет разрешен доступ к серверу (с исключениями, указанными в
списках методов DomainDeny и IPDeny). Если свойство GrantByDefault имеет значение
FALSE, всем IP-адресам и доменам будет запрещен доступ к серверу (с исключениями,
указанными в списках методов DomainGrant и IPGrant).
Синтаксис
объект.GrantByDefault разрешен
Параметры
объект
Объект IIS Admin типа IIsIPSecurity.
разрешен
Значение TRUE или FALSE.
Пример программы
<%
' Не забудьте включить встроенную проверку подлинности Windows и
' отключить анономный доступ, либо будет получена ошибка сервера 500.
Dim SecObj
Dim MyIPSec
' Получение объекта IIS, хранящего сведения об используемом по умолчанию
узле.
' Это может быть любой корневой каталог, виртуальный каталог или
' каталог IIS://LocalHost/W3SVC для глобальных свойств.
Set SecObj = GetObject("IIS://LocalHost/W3SVC/1/Root")
' Получение объекта IIsIPSecurity.
Set MyIPSec = SecObj.IPSecurity
If (TRUE = MyIPSec.GrantByDefault) Then
Response.Write
"<BR>GrantByDefault=TRUE.
Будет установлено значение FALSE.<BR>"
MyIPSec.GrantByDefault = FALSE
Else 'If (FALSE = MyIPSec.GrantByDefault) Then
Response.Write
"<BR>GrantByDefault=FALSE.
Будет установлено значение TRUE.<BR>"
MyIPSec.GrantByDefault = TRUE
End If
' Сохранение данных в метабазе
SecObj.IPSecurity = MyIPSec
SecObj.Setinfo
%>
См. также
IPDeny, IPGrant, DomainDeny, DomainGrant, IIsIPSecurity
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
IIsLogModule
Объект IIsLogModule служит для установки свойств метабазы, влияющих на работу
модулей ведения журнала. Свойства фильтра можно устанавливать на уровне компьютера
(IIsComputer), FTP-службы, веб-службы или отдельного FTP-сервера или веб-сервера.
Объект IIsLogModule является объектом ADSI, но не является объектом-контейнером
ADSI.
ADsPath
IIS://имя_компьютера/LOGGING/модуль_журнала
где имя_компьютера может быть любым именем или строкой «LocalHost», а
модуль_журнала — именем модуля ведения журнала.
Синтаксис
результат = объект.метод
Обозначения
результат
Переменная, получающая значение, возвращаемое методом.
объект
Переменная, содержащая объект IIsLogModule. Обычно это результат
предшествующей операции GetObject.
метод
Выбранный метод объекта.
Свойства
Свойства объекта ADSI
Свойства метабазы
LogModuleId
LogModuleUiId
Методы
Методы объекта ADSI
Обычные методы для объектов ADSI.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
IIsLogModules
Объект IIsLogModules является объектом-контейнером ADSI, содержащим семейство
объектов IIsLogModule. Объект IIsLogModules служит для управления модулями
ведения журнала на уровне компьютера (IIsComputer).
Объект IIsLogModules является объектом-контейнером ADSI.
ADsPath
IIS://имя_компьютера/LOGGING
где имя_компьютера может быть любым именем или строкой «LocalHost».
Синтаксис
результат = объект.метод
Обозначения
результат
Переменная, получающая значение, возвращаемое методом.
объект
Переменная, содержащая объект IIsLogModules. Обычно это результат
предшествующей операции GetObject.
метод
Выбранный метод объекта.
Может содержать
IIsLogModule
Свойства
Свойства объекта ADSI
Методы
Методы объекта ADSI
Обычные методы для объектов ADSI.
Методы объекта-контейнера ADSI
Обычные методы для объектов-контейнеров
ADSI.
Пример программы
<%
'Получение свойств журнала для модуля журнала на сервере.
Dim LoggingModules, CurrentObj
'Получение объекта для первого веб-сервера.
Set CurrentObj = GetObject("IIS://LocalHost/W3SVC/1")
'Доступ к модулям журнала на уровне компьютера.
Set LoggingModules = GetObject("IIS://LocalHost/logging")
'Перебор установленных модулей в поисках текущего
'выбранного модуля на этом сервере.
If CurrentObj.LogPluginClsid <> "" Then
For Each LogModule in LoggingModules
If LogModule.LogModuleID = CurrentObj.LogPluginClsid Then
Response.Write LogModule.Name & "<BR>"
End If
Next
'Вывод свойства текущего модуля.
Response.Write CurrentObj.LogFileDate
End If
%>
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
IIsMimeMap
Объект IIsMimeMap служит для установки наследуемых сопоставлений MIME
(Multipurpose Internet Mail Extensions), используемых веб-серверами.
Объект IIsMimeMap является объектом ADSI, но не является объектом-контейнером
ADSI.
ADsPath
IIS://имя_компьютера/MIMEMAP
где имя_компьютера может быть любым именем или строкой «LocalHost».
Синтаксис
результат = объект.метод
Обозначения
результат
Переменная, получающая значение, возвращаемое методом.
объект
Переменная, содержащая объект IIsMimeMap. Обычно это результат
предшествующей операции GetObject.
метод
Выбранный метод объекта.
Свойства
Свойства объекта ADSI
Свойства метабазы
MimeMap
Методы
Методы объекта ADSI
Обычные методы для объектов ADSI.
Пример программы
<%
Dim MimeMapObj, aMimeMap, MMType, MMExtension, i, aMimeMapNew()
Const ADS_PROPERTY_UPDATE = 2
'Получение объекта сопоставления MIME.
Set MimeMapObj = GetObject("IIS://LocalHost/MimeMap")
'Получение сопоставлений из свойства MimeMap.
aMimeMap = MimeMapObj.GetEx("MimeMap")
'Вывод сопоставлений.
ShowMM(MimeMapObj)
' Добавление нового сопоставления.
i = UBound(aMimeMap) + 1
Redim Preserve aMimeMap(i)
Set aMimeMap(i) = CreateObject("MimeMap")
aMimeMap(i).Extension = ".jnq"
aMimeMap(i).MimeType = "junque/my-junque"
MimeMapObj.PutEx ADS_PROPERTY_UPDATE, "MimeMap", aMimeMap
MimeMapObj.SetInfo
'Вывод сопоставлений.
ShowMM(MimeMapObj)
'Удаление сопоставления путем копирования в новый массив сопоставлений.
i = 0
For Each MMItem in aMimeMap
If MMItem.Extension <> ".jnq" Then
Redim Preserve aMimeMapNew(i)
Set aMimeMapNew(i) = CreateObject("MimeMap")
aMimeMapNew(i).Extension = MMItem.Extension
aMimeMapNew(i).MimeType = MMItem.MimeType
i = i + 1
End If
Next
MimeMapObj.PutEx ADS_PROPERTY_UPDATE, "MimeMap", aMimeMapNew
MimeMapObj.SetInfo
'Вывод сопоставлений.
ShowMM(MimeMapObj)
'Подпрограмма вывода сопоставлений в таблице.
Sub ShowMM(MMObj)
aMM = MMObj.GetEx("MimeMap")
'Подготовка таблицы для вывода сопоставлений.
Response.Write "<HR><TABLE BORDER><CAPTION><B>Сопоставления
MIME</B></CAPTION>"
Response.Write "<TR><TH>Тип</TH><TH>Расширение</TH>"
'Вывод сопоставлений в таблице.
For Each MM in aMM
Response.Write "<TR><TD>" & MM.MimeType & "</TD>"
Response.Write "<TD>" & MM.Extension & "</TD></TR>"
Next
Response.Write "</TABLE>"
End Sub
%>
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
IIsMimeType
Свойство MimeMap содержит массив объектов IISMimeType. Чтобы добавить в массив
новый объект, создайте объект IISMimeType, установите его тип MimeType, создайте
расширение Extension, добавьте этот элемент в массив MimeMap и установите его в
ADSI.
Объект IIsMimeType является специальным программируемым объектом ADSI.
Синтаксис
сопоставления = объект.MimeMap
Set тип_MIME = сопоставления(0)
Обозначения
сопоставления
Переменная, получающая список объектов IIsMimeType.
объект
Переменная, поддерживающая свойство MimeType. Обычно это результат
предшествующей операции GetObject.
тип_MIME
Переменная, получающая объект IIsMimeType.
Может содержать
Этот объект не может содержать другие объекты.
Свойства
Свойства объекта ADSI
Свойства метабазы
MimeMap
Это свойство предоставляет список
расширений имен файлов для
сопоставлений MIME (Multipurpose Internet
Mail Extensions). MimeMap является
массивом объектов IISMimeType.
Свойства объекта
MimeType
Это свойство служит для получения (GET)
и задания (PUT) типа MimeType объекта.
Extension
Это свойство служит для получения (GET)
и задания (PUT) расширения имени файла,
назначенного объекту.
См. также
IIsMimeMap, MimeMap
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
MimeType
Свойство MimeType объекта IIsMimeType служит для получения (GET) и задания (PUT)
типов MIME объектов типа IISMimeType.
Синтаксис
объект.MimeType=строка
Параметры
объект
Объект IIS Admin типа IIsMimeType.
строка
Строка, указывающая тип MIME объекта.
Пример программы
<%
Dim DirObj
Dim MimeMapNode
Dim MimeMapList
Dim MimeMapEntry
Set Obj = GetObject("IIS://LH/MimeMap")
MimeMapList = DirObj.MimeMap
Redim preserve MimeMapList (Ubound(MimeMapList)+1)
Set MimeMapEntry = CreateObject ("IIsMimeTypeEntry")
MimeMapEntry.MimeType = "Text/Plain"
Mime.Extension = ".log"
Set MimeMapList (Ubound(MimeMapList)) = MimeMapEntry
DirObj.MimeMap = MimeMapList
DirObj.Setinfo
%>
См. также
IIsMimeType, Extension
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Extension
Свойство Extension типа IIsMimeType служит для задания типа MIME для расширения
имени файла.
Синтаксис
объект.Extension = строка
Параметры
объект
Объект IIS Admin типа IIsMimeType.
строка
Определенное расширение имени файла, связанное с типом MIME, указанным в
свойстве MimeType.
Пример программы
<%
Dim DirObj
Dim MimeMapNode
Dim MimeMapList
Dim MimeMapEntry
Set Obj = GetObject("IIS://LH/MimeMap")
MimeMapList = DirObj.MimeMap
Redim preserve MimeMapList (Ubound(MimeMapList)+1)
Set MimeMapEntry = CreateObject ("IIsMimeTyepEntry")
MimeMapEntry.MimeMap = "Text/Plain"
Mime.Extension = ".log"
Set MimeMapList (Ubound(MimeMapList)) = MimeMapEntry
DirObj.MimeMap = MimeMapList
DirObj.Setinfo
%>
См. также
MimeType, IIsMimeType
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
IIsWebDirectory
Объект IIsWebDirectory служит для установки свойств метабазы, относящихся к одному
или нескольким каталогам на веб-сервере. При использовании объекта IIsWebDirectory
для установки свойств метабазы для веб-каталога наследуемые свойства будут применены
ко всем его подкаталогам и файлам.
Для создания веб-приложений в веб-каталогах и подкаталогах и управления ими также
служат методы IIsWebDirectory. Используя объект IIsWebVirtualDir, также можно
определять приложения и управлять ими в виртуальных каталогах.
Объект IIsWebDirectory является объектом-контейнером ADSI.
ADsPath
IIS://имя_компьютера/W3SVC/N/ROOT/в_каталог/каталог
где имя_компьютера может быть любым именем или строкой «LocalHost».
Синтаксис
результат = объект.метод
Обозначения
результат
Переменная, получающая значение, возвращаемое методом.
объект
Переменная, содержащая объект IIsWebDirectory. Обычно это результат
предшествующей операции GetObject.
метод
Выбранный метод объекта.
Может содержать
IIsWebDirectory IIsWebFile
Свойства
Свойства объекта ADSI
Свойства метабазы
A – Asp...
AccessExecute
AspBufferingOn
AccessFlags
AspCodepage
AccessNoRemoteExecute
AspEnableApplicationRestart
AccessNoRemoteRead
AspEnableAspHtmlFallback
AccessNoRemoteScript
AspEnableChunkedEncoding
AccessNoRemoteWrite
AspEnableParentPaths
AccessRead
AspEnableTypelibCache
AccessScript
AspErrorsToNTLog
AccessSSL
AspExceptionCatchEnable
AccessSSL128
AspLogErrorRequests
AccessSSLFlags
AspProcessorThreadMax
AccessSSLMapCert
AspQueueConnectionTestTime
AccessSSLNegotiateCert
AspQueueTimeout
AccessSSLRequireCert
AspRequestQueueMax
AccessWrite
AspScriptEngineCacheMax
AnonymousPasswordSync
AspScriptErrorMessage
AnonymousUserName
AspScriptErrorSentToBrowser
AnonymousUserPass
AspScriptFileCacheSize
AppAllowClientDebug
AspScriptLanguage
AppAllowDebugging
AspScriptTimeout
AppFriendlyName
AspSessionMax
AppIsolated
AspSessionTimeout
AppOopRecoverLimit
AspThreadGateEnabled
AppPackageID
AspThreadGateLoadHigh
AppPackageName
AspThreadGateLoadLow
AppRoot
AspThreadGateSleepDelay
AppWamClsID
AspThreadGateSleepMax
AspAllowOutOfProcComponents
AspThreadGateTimeSlice
AspAllowSessionState
AspTrackThreadingModel
Auth... – U
AuthAnonymous
DirBrowseShowSize
AuthBasic
DirBrowseShowTime
AuthFlags
DontLog
AuthNTLM
EnableDefaultDoc
AuthPersistence
EnableDirBrowsing
AuthPersistSingleRequest
EnableDocFooter
AuthPersistSingleRequestIfProxy
EnableReverseDns
AuthPersistSingleRequestAlwaysIfProxy HttpCustomHeaders
CacheControlCustom
HttpErrors
CacheControlMaxAge
HttpExpires
CacheControlNoCache
HttpPics
CacheISAPI
HttpRedirect
ContentIndexed
IPSecurity
CpuAppEnabled
LogonMethod
CpuCgiEnabled
MimeMap
CreateCGIWithNewConsole
PoolIDCTimeout
CreateProcessAsUser
PutReadSize
DefaultDoc
Realm
DefaultDocFooter
RedirectHeaders
DefaultLogonDomain
ScriptMaps
DirBrowseFlags
SSIExecDisable
DirBrowseShowDate
UNCAuthenticationPassthrough
DirBrowseShowExtension
UploadReadAheadSize
DirBrowseShowLongDate
Методы
AppCreate
Создание приложения в указанном разделе
метабазы (параметр типа Boolean).
AppCreate2
Создание приложения в указанном разделе
метабазы (параметр типа Long).
AppDelete
Удаление определения приложения в
указанном разделе.
AppDeleteRecursive
Удаление определений приложения в
указанном разделе и его подразделах.
AppDisable
Отключение приложения в указанном
разделе.
AppDisableRecursive
Отключение приложения в указанном
разделе и его подразделах.
AppEnable
Включение приложения, отключенного
ранее, в указанном разделе.
AppEnableRecursive
Включение приложений, отключенных
ранее, в указанном разделе и его
подразделах.
AppGetStatus
Получение состояния приложения.
AppUnload
Выгрузка приложения в указанном разделе.
AppUnloadRecursive
Выгрузка приложения в указанном разделе
и его подразделах.
AspAppRestart
Этот метод перезапускает приложение ASP,
вызвавшее его.
См. также
Методы объекта ADSI
Обычные методы для объектов ADSI.
Методы объекта-контейнера ADSI
Обычные методы для объектов-контейнеров
ADSI.
Примечания
Веб-каталоги могут быть вложенными и адресоваться по пути к каталогу, включая имя
этого каталога (например, .../в_каталог/Dir1/Dir1a/Dir1ab и т.д.)
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
AppCreate
Метод AppCreate объектов IIsWebDirectory и IIsWebVirtualDir служит для создания
определения веб-приложения и пометки его как внутреннего или внешнего. Если
приложение уже существует по указанному пути, можно, используя этот метод,
преобразовать это приложение из внутреннего во внешнее или наоборот.
Синтаксис
объект.AppCreate флаг_типа
Параметры
объект
Объект IIS Admin типа IIsWebDirectory или IIsWebVirtualDir.
флаг_типа
Тип приложения: внутреннее (TRUE) или внешнее (FALSE). Если указанное
приложение уже существует и является внутренним, при задании значения FALSE
определение приложения будет удалено, а затем будет создано новое внешнее
приложение. Если указанное приложение уже существует и является внешним, при
задании значения TRUE определение приложения будет удалено, а затем будет
создано новое внутреннее приложение. Если указанное приложение существует, и
значение флаг_типа совпадает с типом имеющегося приложения (внутреннее или
внешнее), этот метод не вызовет никаких изменений в определении приложения.
Пример программы
<%
Dim DirObj
Const INPROC = True
Const OUTPROC = False
Set DirObj = GetObject("IIS://LocalHost/W3SVC/1/ROOT/MyAppDir")
'Создание внутреннего приложения.
DirObj.AppCreate INPROC
%>
См. также
AppCreate2, AppDelete, AppDeleteRecursive, AppUnload, AppUnloadRecursive,
AppGetStatus, AppDisable, AppDisableRecursive, AppEnable, AppEnableRecursive,
AspAppRestart
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
AppCreate2
Метод AppCreate2 объектов IIsWebDirectory и IIsWebVirtualDir служит для создания
определения веб-приложения и пометки его как внутреннего, внешнего или компонента
группового процесса. Если приложение уже существует по указанному пути, можно,
используя этот метод, преобразовать это приложение в любой тип.
Синтаксис
объект.AppCreate2 флаг_типа
Параметры
объект
Объект IIS Admin типа IIsWebDirectory или IIsWebVirtualDir.
флаг_типа
Двоичное значение, определяющее тип приложения: внутреннее (0), внешнее (1)
или компонент группового процесса (2). Если указанное приложение уже
существует и выполняется, при изменении значения этого флага определение
приложения будет удалено, а затем будет создано новое приложение указанного
типа.
Пример программы
<%
Dim DirObj
Const INPROC = 0
Const OUTPROC = 1
Const POOLED = 2
Set DirObj = GetObject("IIS://LocalHost/W3SVC/1/ROOT/MyAppDir")
'Создание внутреннего приложения.
DirObj.AppCreate INPROC
%>
См. также
AppCreate, AppDelete, AppDeleteRecursive, AppUnload, AppUnloadRecursive,
AppGetStatus, AppDisable, AppDisableRecursive, AppEnable, AppEnableRecursive,
AspAppRestart
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
AppDelete
Метод AppDelete объектов IIsWebDirectory и IIsWebVirtualDir служит для удаления
определения веб-приложения из раздела метабазы. Если приложение выполняется, его
работа будет завершена. Если приложение является внутренним для IIS, все ресурсы,
связанные с этим приложением, такие как внешние приложения, будут освобождены, если
на этот ресурс не ссылаются другие внутренние приложения.
Примечание. Библиотеки DLL серверных компонентов не освобождаются от
внутренних приложений, даже если на них в данный момент не ссылаются другие
приложения.
Удаление, выполняемое методом AppDelete, нельзя отменить.
Синтаксис
объект.AppDelete
Параметры
объект
Объект IIS Admin типа IIsWebDirectory или IIsWebVirtualDir.
Пример программы
<%
Dim DirObj
Set DirObj = GetObject("IIS://LocalHost/W3SVC/1/ROOT/MyAppDir")
'Удаление приложения в этом каталоге.
DirObj.AppDelete
%>
См. также
AppCreate, AppDeleteRecursive, AppUnload, AppUnloadRecursive, AppGetStatus,
AppDisable, AppDisableRecursive, AppEnable, AppEnableRecursive, AspAppRestart
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
AppDeleteRecursive
Метод AppDeleteRecursive объектов IIsWebDirectory и IIsWebVirtualDir служит для
удаления определений веб-приложения из раздела метабазы и его подразделов. Если
приложения выполняются, их работа будет завершена. Если приложение является
внутренним для IIS, все ресурсы, связанные с этим приложением, такие как внешние
пакеты, будут освобождены, если на этот ресурс не ссылаются другие внутренние
приложения.
Примечание. Библиотеки DLL серверных компонентов не освобождаются от
внутренних приложений, даже если на них в данный момент не ссылаются другие
приложения.
Удаление, выполняемое методом AppDeleteRecursive, нельзя отменить.
Синтаксис
объект.AppDeleteRecursive
Параметры
объект
Объект IIS Admin типа IIsWebDirectory или IIsWebVirtualDir.
Пример программы
<%
Dim DirObj
Set DirObj = GetObject("IIS://LocalHost/W3SVC/1/ROOT/MyAppDir")
'Удаление приложения в этом каталоге
'и всех его подкаталогах.
DirObj.AppDeleteRecursive
%>
См. также
AppCreate, AppDelete, AppUnload, AppUnloadRecursive, AppGetStatus, AppDisable,
AppDisableRecursive, AppEnable, AppEnableRecursive, AspAppRestart
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
AppDisable
Метод AppDisable объектов IIsWebDirectory и IIsWebVirtualDir служит для отключения
внешних веб-приложений. Все ресурсы приложения освобождаются, а процесс
приложения завершается. Попытки доступа к приложению будут отвергнуты. Для
повторного включения отключенного приложения служит метод AppEnable. Оба метода в
основном используются при перемещении, копировании и переименовании разделов
метабазы. Метод AppDisable не оказывает влияния на внутренние приложения.
Синтаксис
объект.AppDisable
Параметры
объект
Объект IIS Admin типа IIsWebDirectory или IIsWebVirtualDir.
Пример программы
<%
Dim DirObj
Set DirObj = GetObject("IIS://LocalHost/W3SVC/1/ROOT/MyAppDir")
'Отключение приложения в этом каталоге.
DirObj.AppDisable
%>
См. также
AppCreate, AppDelete, AppDeleteRecursive, AppUnload, AppUnloadRecursive,
AppGetStatus, AppDisableRecursive, AppEnable, AppEnableRecursive, AspAppRestart
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
AppDisableRecursive
Метод AppDisableRecursive объектов IIsWebDirectory и IIsWebVirtualDir служит для
отключения внешних веб-приложений. Будут отключены приложения в указанном
разделе и всех его подразделах. Все ресурсы приложений освобождаются, а процессы
приложения завершаются. Попытки доступа к приложению будут отвергнуты. Для
повторного включения отключенных приложений служит метод AppEnableRecursive.
Оба метода в основном используются при перемещении, копировании и переименовании
разделов метабазы. Метод AppDisableRecursive не оказывает влияния на внутренние
приложения.
Синтаксис
объект.AppDisableRecursive
Параметры
объект
Объект IIS Admin типа IIsWebDirectory или IIsWebVirtualDir.
Пример программы
<%
Dim DirObj
Set DirObj = GetObject("IIS://LocalHost/W3SVC/1/ROOT/MyAppDir")
'Отключение приложения в этом каталоге
'и всех его подкаталогах.
DirObj.AppDisableRecursive
%>
См. также
AppCreate, AppDelete, AppDeleteRecursive, AppUnload, AppUnloadRecursive,
AppGetStatus, AppDisable, AppEnable, AppEnableRecursive, AspAppRestart
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
AppEnable
Метод AppEnable объектов IIsWebDirectory и IIsWebVirtualDir служит для
восстановления определения веб-приложения, отключенного ранее методом AppDisable.
Если указанное приложение не было ранее удалено, оно будет перерегистрировано в
службах компонентов.
Синтаксис
объект.AppEnable
Параметры
объект
Объект IIS Admin типа IIsWebDirectory или IIsWebVirtualDir.
Пример программы
<%
Dim DirObj
Set DirObj = GetObject("IIS://LocalHost/W3SVC/1/ROOT/MyAppDir")
'Включение приложения в этом каталоге.
DirObj.AppEnable
%>
См. также
AppCreate, AppDelete, AppDeleteRecursive, AppUnload, AppUnloadRecursive,
AppGetStatus, AppDisable, AppDisableRecursive, AppEnableRecursive, AspAppRestart
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
AppEnableRecursive
Метод AppEnableRecursive объектов IIsWebDirectory и IIsWebVirtualDir служит для
восстановления определений веб-приложений, отключенных ранее методом
AppDisableRecursive. Если указанные приложения не были ранее удалены, они будут
перерегистрированы в службах компонентов.
Синтаксис
объект.AppEnableRecursive
Параметры
объект
Объект IIS Admin типа IIsWebDirectory или IIsWebVirtualDir.
Пример программы
<%
Dim DirObj
Set DirObj = GetObject("IIS://LocalHost/W3SVC/1/ROOT/MyAppDir")
'Включение приложения в этом каталоге
'и всех его подкаталогах.
DirObj.AppEnableRecursive
%>
См. также
AppCreate, AppDelete, AppDeleteRecursive, AppUnload, AppUnloadRecursive,
AppGetStatus, AppDisable, AppDisableRecursive, AppEnable, AspAppRestart
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
AppGetStatus
Метод AppGetStatus объектов IIsWebDirectory и IIsWebVirtualDir служит для
получения текущего состояния веб-приложения.
Синтаксис
результат = объект.AppGetStatus
Параметры
результат
Переменная, получающая состояние приложения.
объект
Объект IIS Admin типа IIsWebDirectory или IIsWebVirtualDir.
Возвращаемые значения
APPSTATUS_NOTDEFINED
По указанному пути приложение не
определено.
APPSTATUS_RUNNING
Приложение выполняется.
APPSTATUS_STOPPED
Приложение не выполняется.
Пример программы
<%
Dim DirObj, vStatus
Set DirObj = GetObject("IIS://LocalHost/W3SVC/1/ROOT/MyAppDir")
'Получение состояния приложения.
vReturn = DirObj.AppGetStatus
%>
См. также
AppCreate, AppDelete, AppDeleteRecursive, AppUnload, AppUnloadRecursive,
AppDisable, AppDisableRecursive, AppEnable, AppEnableRecursive, AspAppRestart
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
AppUnload
Метод AppUnload объектов IIsWebDirectory и IIsWebVirtualDir служит для выгрузки
внешних веб-приложений. Все ресурсы приложения освобождаются, а процесс
приложения завершается. Если приложение является внутренним, оно освобождается,
если на него не ссылаются другие приложения.
Примечание. Библиотеки DLL серверных компонентов не освобождаются от
внутренних приложений, даже если на них в данный момент не ссылаются другие
приложения.
Синтаксис
объект.AppUnload
Параметры
объект
Объект IIS Admin типа IIsWebDirectory или IIsWebVirtualDir.
Пример программы
<%
Dim DirObj
Set DirObj = GetObject("IIS://LocalHost/W3SVC/1/ROOT/MyAppDir")
'Выгрузка приложения в этом каталоге.
DirObj.AppUnload
%>
См. также
AppCreate, AppDelete, AppDeleteRecursive, AppUnloadRecursive, AppGetStatus,
AppDisable, AppDisableRecursive, AppEnable, AppEnableRecursive, AspAppRestart
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
AppUnloadRecursive
Метод AppUnloadRecursive объектов IIsWebDirectory и IIsWebVirtualDir служит для
выгрузки внешних веб-приложений. Будут выгружены приложения в указанном разделе и
всех его подразделах. Все ресурсы приложений освобождаются, а процессы приложения
завершаются. Если приложение является внутренним, оно освобождается, если на него не
ссылаются другие приложения.
Примечание. Библиотеки DLL серверных компонентов не освобождаются от
внутренних приложений, даже если на них в данный момент не ссылаются другие
приложения.
Синтаксис
объект.AppUnloadRecursive
Параметры
объект
Объект IIS Admin типа IIsWebDirectory или IIsWebVirtualDir.
Пример программы
<%
Dim DirObj
Set DirObj = GetObject("IIS://LocalHost/W3SVC/1/ROOT/MyAppDir")
'Выгрузка приложения в этом каталоге
'и во всех его подкаталогах.
DirObj.AppUnloadRecursive
%>
См. также
AppCreate, AppDelete, AppDeleteRecursive, AppUnload, AppGetStatus, AppDisable,
AppDisableRecursive, AppEnable, AppEnableRecursive, AspAppRestart
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
AspAppRestart
Метод AspAppRestart объектов IIsWebDirectory и IIsWebVirtualDir служит для
перезапуска приложений ASP. Он позволяет перезапускать приложения ASP без
обращения к файлу Global.asa, остановки и запуска веб-службы. То есть, можно
перезапустить приложение при необходимости.
Синтаксис
объект.AspAppRestart()
Параметры
объект
Объект приложение ASP типа IIsWebDirectory или IIsWebVirtualDir.
См. также
AppCreate, AppDelete, AppDeleteRecursive, AppUnload, AppUnloadRecursive,
AppGetStatus, AppDisable, AppDisableRecursive, AppEnable, AppEnableRecursive
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
IIsWebFile
Объект IIsWebFile служит для установки значений раздела метабазы, влияющих на файл
в веб-каталоге виртуального веб-сервера. Значения свойств метабазы, устанавливаемые
для отдельного файла, заменяют унаследованные значения, установленные на более
высоком уровне в структуре метабазы.
Объект IIsWebFile является объектом ADSI, но не является объектом-контейнером ADSI.
ADsPath
IIS://имя_компьютера/W3SVC/n/Root/в_каталог/каталог/имя_файла
где имя_компьютера может быть любым именем или строкой «LocalHost».
Синтаксис
результат = объект.метод
Обозначения
результат
Переменная, получающая значение, возвращаемое методом.
объект
Переменная, содержащая объект IIsWebFile. Обычно это результат
предшествующей операции GetObject.
метод
Выбранный метод объекта.
Свойства
Свойства объекта ADSI
Свойства метабазы
AccessExecute
CacheControlMaxAge
AccessFlags
CacheControlNoCache
AccessNoRemoteExecute
CpuAppEnabled
AccessNoRemoteRead
CpuCgiEnabled
AccessNoRemoteScript
CreateCGIWithNewConsole
AccessNoRemoteWrite
CreateProcessAsUser
AccessRead
DefaultDocFooter
AccessSource
DefaultLogonDomain
AccessScript
DontLog
AccessSSL
EnableDocFooter
AccessSSL128
EnableReverseDns
AccessSSLFlags
HttpCustomHeaders
AccessSSLMapCert
HttpErrors
AccessSSLNegotiateCert
HttpExpires
AccessSSLRequireCert
HttpPics
AccessWrite
HttpRedirect
AnonymousPasswordSync
IPSecurity
AnonymousUserName
LogonMethod
AnonymousUserPass
MimeMap
AuthAnonymous
PoolIDCTimeout
AuthBasic
PutReadSize
AuthFlags
Realm
AuthNTLM
RedirectHeaders
AuthPersistence
ScriptMaps
AuthPersistSingleRequest
SSIExecDisable
AuthPersistSingleRequestIfProxy
UNCAuthenticationPassthrough
AuthPersistSingleRequestAlwaysIfProxy UploadReadAheadSize
CacheControlCustom
Методы
Методы объекта ADSI
Обычные методы для объектов ADSI.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
IIsWebInfo
Некоторые свойства метабазы, связанные с веб-службой, хранятся в подразделе Info
раздела W3SVC. Объект IIsWebInfo служит для установки значений этих свойств.
Объект IIsWebInfo является объектом ADSI, но не является объектом-контейнером ADSI.
ADsPath
IIS://имя_компьютера/W3SVC/INFO
где имя_компьютера может быть любым именем или строкой «LocalHost».
Синтаксис
результат = объект.метод
Обозначения
результат
Переменная, получающая значение, возвращаемое методом.
объект
Переменная, содержащая объект IIsWebInfo. Обычно это результат
предшествующей операции GetObject.
метод
Выбранный метод объекта.
Свойства
Свойства объекта ADSI
Свойства метабазы
AdminServer
ServerConfigFlags
CustomErrorDescriptions
ServerConfigSSL128
LogModuleList
ServerConfigSSL40
ServerConfigAutoPWSync
ServerConfigSSLAllowEncrypt
Методы
Методы объекта ADSI
Обычные методы для объектов ADSI.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
IIsWebServer
Объект IIsWebServer служит для установки свойств метабазы, относящихся к
определенному виртуальному веб-серверу, и наследуемых свойств метабазы для
виртуальных каталогов, веб-каталогов и веб-файлов. Определенные методы также
позволяют управлять работой сервера. Виртуальные веб-серверы идентифицируются в
метабазе по номерам их индексов. Номер первого веб-сервера — 1, второго — 2 и т.д.
Объект IIsWebServer является объектом-контейнером ADSI.
ADsPath
IIS://имя_компьютера/W3SVC/N
где имя_компьютера может быть именем любого компьютера или строкой «LocalHost».
Синтаксис
результат = объект.метод
Обозначения
результат
Переменная, получающая результат.
объект
Ссылка на объект IIS Admin.
метод
Вызываемый метод.
Может содержать
IIsCertMapper
IIsWebVirtualDir
IIsFilters
Свойства
Свойства объекта ADSI
Свойства метабазы
A – Asp...
AccessExecute
AspAllowOutOfProcComponents
AccessFlags
AspAllowSessionState
AccessNoRemoteExecute
AspBufferingOn
AccessNoRemoteRead
AspCodepage
AccessNoRemoteScript
AspEnableApplicationRestart
AccessNoRemoteWrite
AspEnableAspHtmlFallback
AccessRead
AspEnableChunkedEncoding
AccessSource
AspEnableParentPaths
AccessScript
AspEnableTypelibCache
AccessSSL
AspErrorsToNTLog
AccessSSL128
AspExceptionCatchEnable
AccessSSLFlags
AspLogErrorRequests
AccessSSLMapCert
AspProcessorThreadMax
AccessSSLNegotiateCert
AspQueueConnectionTestTime
AccessSSLRequireCert
AspQueueTimeout
AccessWrite
AspRequestQueueMax
AdminACL
AspScriptEngineCacheMax
AllowKeepAlive
AspScriptErrorSentToBrowser
AllowPathInfoForScriptMappings
AspScriptFileCacheSize
AnonymousPasswordSync
AspScriptLanguage
AnonymousUserName
AspSessionMax
AnonymousUserPass
AspScriptTimeout
AppAllowClientDebug
AspSessionTimeout
AppAllowDebugging
AspThreadGateEnabled
AppFriendlyName
AspThreadGateLoadHigh
AppIsolated
AspThreadGateLoadLow
AppOopRecoverLimit
AspThreadGateSleepDelay
AppPackageID
AspThreadGateSleepMax
AppPackageName
AspThreadGateTimeSlice
AppRoot
AspTrackThreadingModel
AppWamClsID
Auth... – I
AuthAnonymous
CpuLimitProcStop
AuthBasic
CpuLimitsEnabled
AuthFlags
CpuLoggingInterval
AuthNTLM
CpuLoggingMask
AuthPersistence
CpuLoggingOptions
AuthPersistSingleRequest
CpuResetInterval
AuthPersistSingleRequestIfProxy
CreateCGIWithNewConsole
AuthPersistSingleRequestAlwaysIfProxy CreateProcessAsUser
CacheControlCustom
DefaultDoc
CacheControlMaxAge
DefaultDocFooter
CacheControlNoCache
DefaultLogonDomain
CacheISAPI
DirBrowseFlags
CGITimeout
DirBrowseShowDate
ConnectionTimeout
DirBrowseShowExtension
CpuAppEnabled
DirBrowseShowLongDate
CpuCgiEnabled
DirBrowseShowSize
CpuEnableActiveProcs
DirBrowseShowTime
CpuEnableAllProcLogging
DisableSocketPooling
CpuEnableAppLogging
DontLog
CpuEnableCgiLogging
EnableDefaultDoc
CpuEnableEvent
EnableDirBrowsing
CpuEnableKernelTime
EnableDocFooter
CpuEnableLogging
EnableReverseDns
CpuEnablePageFaults
FrontPageWeb
CpuEnableProcType
HttpCustomHeaders
CpuEnableTerminatedProcs
HttpErrors
CpuEnableTotalProcs
HttpExpires
CpuEnableUserTime
HttpPics
CpuLimitLogEvent
HttpRedirect
CpuLimitPause
IPSecurity
CpuLimitPriority
Log...
LogExtFileBytesRecv
LogExtFileUriQuery
LogExtFileBytesSent
LogExtFileUriStem
LogExtFileClientIp
LogExtFileUserAgent
LogExtFileComputerName
LogExtFileUserName
LogExtFileCookie
LogExtFileWin32Status
LogExtFileDate
LogFileDirectory
LogExtFileFlags
LogFileLocaltimeRollover
LogExtFileHost
LogFilePeriod
LogExtFileHttpStatus
LogFileTruncateSize
LogExtFileMethod
LogOdbcDataSource
LogExtFileProtocolVersion
LogOdbcPassword
LogExtFileReferer
LogOdbcTableName
LogExtFileServerIp
LogOdbcUserName
LogExtFileServerPort
LogonMethod
LogExtFileSiteName
LogPluginClsid
LogExtFileTime
LogType
LogExtFileTimeTaken
M–U
MaxBandWidth
RedirectHeaders
MaxBandWidthBlocked
ScriptMaps
MaxConnections
SecureBindings
MaxEndpointConnections
ServerAutoStart
MimeMap
ServerBindings
NetLogonWorkstation
ServerComment
NTAuthenticationProviders
ServerListenBacklog
PasswordCacheTTL
ServerListenTimeout
PasswordChangeFlags
ServerSize
PasswordExpirePrenotifyDays
ServerState
PoolIDCTimeout
SSIExecDisable
ProcessNTCRIfLoggedOn
UNCAuthenticationPassthrough
PutReadSize
UploadReadAheadSize
Realm
UseHostName
Методы
Continue
Возобновление работы сервера.
Pause
Приостановка работы сервера.
Start
Запуск работы сервера.
Status
Получение текущего состояния сервера.
Stop
Остановка работы сервера.
См. также
Методы объекта ADSI
Обычные методы для объектов ADSI.
Методы объекта-контейнера ADSI
Обычные методы для объектов-контейнеров
ADSI.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Continue
Метод Continue объекта IIsWebServer возобновляет работу сервера после приостановки.
Синтаксис
IIsWebServer.Continue
Пример программы
<%
Dim ServerObj
'Возобновление работы второго веб-сервера.
Set ServerObj = GetObject("IIS://LocalHost/W3SVC/2")
ServerObj.Continue
%>
См. также
Start, Pause, Stop, Status
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Pause
Метод Pause объекта IIsWebServer приостанавливает работу сервера.
Синтаксис
IIsWebServer.Pause
Пример программы
<%
Dim ServerObj
'Приостановка работы второго веб-сервера.
Set ServerObj = GetObject("IIS://LocalHost/W3SVC/2"
ServerObj.Pause
%>
См. также
Start, Continue, Stop, Status
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Start
Метод Start объекта IIsWebServer запускает работу сервера.
Синтаксис
IIsWebServer.Start
Пример программы
<%
Dim ServerObj
'Запуск второго веб-сервера.
Set ServerObj = GetObject("IIS://LocalHost/W3SVC/2"
ServerObj.Start
%>
См. также
Pause, Continue, Stop, Status
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Status
Метод Status объекта IIsWebServer возвращает целое число, обозначающее текущее
состояние сервера. Возможные значения и их описания приведены в следующей таблице.
Значение
Описание
1
Запуск
2
Запущен
3
Остановка
4
Остановлен
5
Приостановка
6
Приостановлен
7
Возобновление
Синтаксис
IIsWebServer.Status
См. также
Start, Pause, Continue, Stop
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Stop
Метод Stop объекта IIsWebServer останавливает работу сервера.
Синтаксис
IIsWebServer.Stop
Пример программы
<%
Dim ServerObj
'Остановка работы второго веб-сервера.
Set ServerObj = GetObject("IIS://LocalHost/W3SVC/2"
ServerObj.Stop
%>
См. также
Start, Pause, Continue, Status
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
IIsWebService
Объект IIsWebService служит для установки наследуемых свойств метабазы для вебузлов и виртуальных веб-каталогов. Объект IIsWebService является объектомконтейнером ADSI. Дополнительные сведения содержатся в разделе Возможности ADSI.
ADsPath
IIS://имя_компьютера/W3SVC
где имя_компьютера может быть именем любого компьютера или строкой «LocalHost».
Синтаксис
результат = объект.метод
Обозначения
результат
Переменная, получающая значение, возвращаемое методом.
объект
Переменная, содержащая объект IIsWebServer. Обычно это результат
предшествующей операции GetObject.
метод
Выбранный метод объекта.
Может содержать
IIsFilters
IIsWebServer
IIsWebInfo
Свойства
Свойства объекта ADSI
Свойства метабазы
A – Asp...
AccessExecute
AspAllowSessionState
AccessFlags
AspBufferingOn
AccessNoRemoteExecute
AspCodepage
AccessNoRemoteRead
AspEnableApplicationRestart
AccessNoRemoteScript
AspEnableAspHtmlFallback
AccessNoRemoteWrite
AspEnableChunkedEncoding
AccessRead
AspEnableParentPaths
AccessSource
AspEnableTypelibCache
AccessScript
AspErrorsToNTLog
AccessSSL
AspExceptionCatchEnable
AccessSSL128
AspLogErrorRequests
AccessSSLFlags
AspProcessorThreadMax
AccessSSLMapCert
AspQueueConnectionTestTime
AccessSSLNegotiateCert
AspQueueTimeout
AccessSSLRequireCert
AspRequestQueueMax
AccessWrite
AspScriptEngineCacheMax
AdminACL
AspScriptErrorMessage
AllowPathInfoForScriptMappings
AspScriptErrorSentToBrowser
AnonymousPasswordSync
AspScriptFileCacheSize
AnonymousUserName
AspScriptLanguage
AnonymousUserPass
AspSessionMax
AppAllowClientDebug
AspScriptTimeout
AppAllowDebugging
AspSessionTimeout
AppFriendlyName
AspThreadGateEnabled
AppIsolated
AspThreadGateLoadHigh
AppPackageID
AspThreadGateLoadLow
AppPackageName
AspThreadGateSleepDelay
AppRoot
AspThreadGateSleepMax
AppWamClsID
AspThreadGateTimeSlice
AspAllowOutOfProcComponents
AspTrackThreadingModel
Auth... – I
AuthAnonymous
CpuLimitProcStop
AuthBasic
CpuLoggingInterval
AuthFlags
CpuLoggingMask
AuthNTLM
CpuLoggingOptions
AuthPersistence
CpuResetInterval
AuthPersistSingleRequest
CreateCGIWithNewConsole
AuthPersistSingleRequestIfProxy
CreateProcessAsUser
AuthPersistSingleRequestAlwaysIfProxy DefaultDoc
CacheControlCustom
DefaultDocFooter
CacheControlMaxAge
DefaultLogonDomain
CacheControlNoCache
DirBrowseFlags
CacheISAPI
DirBrowseShowDate
ContentIndexed
DirBrowseShowExtension
ConnectionTimeout
DirBrowseShowLongDate
CpuAppEnabled
DirBrowseShowSize
CpuCgiEnabled
DirBrowseShowTime
CpuEnableActiveProcs
DirectoryLevelsToScan
CpuEnableAllProcLogging
DisableSocketPooling
CpuEnableAppLogging
DontLog
CpuEnableCgiLogging
EnableDefaultDoc
CpuEnableEvent
EnableDirBrowsing
CpuEnableKernelTime
EnableDocFooter
CpuEnableLogging
EnableReverseDns
CpuEnablePageFaults
HttpCustomHeaders
CpuEnableProcType
HttpErrors
CpuEnableTerminatedProcs
HttpExpires
CpuEnableTotalProcs
HttpPics
CpuEnableUserTime
HttpRedirect
CpuLimitLogEvent
InProcessIsapiApps
CpuLimitPause
IPSecurity
CpuLimitPriority
Log...
LogExtFileUriQuery
LogExtFileBytesRecv
LogExtFileUriStem
LogExtFileBytesSent
LogExtFileUserAgent
LogExtFileClientIp
LogExtFileUserName
LogExtFileComputerName
LogExtFileWin32Status
LogExtFileCookie
LogFileDirectory
LogExtFileDate
LogFileLocaltimeRollover
LogExtFileFlags
LogFilePeriod
LogExtFileHost
LogFileTruncateSize
LogExtFileHttpStatus
LogOdbcDataSource
LogExtFileMethod
LogOdbcPassword
LogExtFileProtocolVersion
LogOdbcTableName
LogExtFileReferer
LogOdbcUserName
LogExtFileServerIp
LogonMethod
LogExtFileServerPort
LogPluginClsiId
LogExtFileSiteName
LogType
LogExtFileTime
LogExtFileTimeTaken
M–U
ScriptMaps
MaxConnections
ServerAutoStart
MaxEndpointConnections
ServerBindings
MimeMap
ServerComment
NetLogonWorkstation
ServerListenBacklog
NTAuthenticationProviders
ServerListenTimeout
PasswordCacheTTL
ServerSize
PasswordChangeFlags
SSIExecDisable
PasswordExpirePrenotifyDays
SSLUseDSMapper
PoolIDCTimeout
UNCAuthenticationPassthrough
ProcessNTCRIfLoggedOn
UploadReadAheadSize
PutReadSize
UseHostName
Realm
WAMUserName
RedirectHeaders
WAMUserPass
Методы
Методы объекта ADSI
Обычные методы для объектов ADSI.
Методы объекта-контейнера ADSI
Обычные методы для объектов-контейнеров
ADSI.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
IIsWebVirtualDir
Объект IIsWebVirtualDir служит для установки свойств метабазы, относящихся к одному
или всем виртуальным каталогам веб-узла. При использовании объекта IIsWebVirtualDir
в корневом каталоге сервера (.../W3SVC/2/ROOT) значения наследуемых свойств будут
применены ко всем виртуальным подкаталогам. Можно устанавливать свойства для
определенного виртуального каталога, используя объект IIsWebVirtualDir для
определенного виртуального каталога (.../W3SVC/2/ROOT/в_каталог).
Для создания и веб-приложений в виртуальных веб-каталогах и подкаталогах и
управления ими также служат методы IIsWebVirtualDir. Приложения также можно
определять и управлять ими в веб-каталогах. См. сведения об объекте IIsWebDirectory.
Объект IIsWebVirtualDir является объектом-контейнером ADSI.
ADsPath
Для корневого виртуального каталога сервера:
IIS://имя_компьютера/W3SVC/N/ROOT
где имя_компьютера может быть любым именем или строкой «LocalHost».
Для определенного виртуального каталога:
IIS://имя_компьютера/W3SVC/N/ROOT/виртуальный_каталог
где имя_компьютера может быть любым именем или строкой «LocalHost».
Синтаксис
результат = объект.метод
Обозначения
результат
Переменная, получающая значение, возвращаемое методом.
объект
Переменная, содержащая объект IIsWebVirtualDir. Обычно это результат
предшествующей операции GetObject.
метод
Выбранный метод объекта.
Может содержать
IIsWebVirtualDir IIsWebFile
IIsWebDirectory
Свойства
Свойства объекта ADSI
Свойства метабазы
A – Asp...
AccessExecute
AspBufferingOn
AccessFlags
AspCodepage
AccessNoRemoteExecute
AspEnableApplicationRestart
AccessNoRemoteRead
AspEnableAspHtmlFallback
AccessNoRemoteScript
AspEnableChunkedEncoding
AccessNoRemoteWrite
AspEnableParentPaths
AccessRead
AspEnableTypelibCache
AccessSource
AspErrorsToNTLog
AccessScript
AspExceptionCatchEnable
AccessSSL
AspLogErrorRequests
AccessSSL128
AspProcessorThreadMax
AccessSSLFlags
AspQueueConnectionTestTime
AccessSSLMapCert
AspQueueTimeout
AccessSSLNegotiateCert
AspRequestQueueMax
AccessSSLRequireCert
AspScriptEngineCacheMax
AccessWrite
AspScriptErrorMessage
AnonymousPasswordSync
AspScriptErrorSentToBrowser
AnonymousUserName
AspScriptFileCacheSize
AnonymousUserPass
AspScriptLanguage
AppAllowClientDebug
AspScriptTimeout
AppAllowDebugging
AspSessionMax
AppFriendlyName
AspSessionTimeout
AppIsolated
AspThreadGateEnabled
AppOopRecoverLimit
AspThreadGateLoadHigh
AppPackageID
AspThreadGateLoadLow
AppPackageName
AspThreadGateSleepDelay
AppRoot
AspThreadGateSleepMax
AppWamClsID
AspThreadGateTimeSlice
AspAllowOutOfProcComponents
AspTrackThreadingModel
AspAllowSessionState
Auth... – U
AuthAnonymous
DirBrowseShowTime
AuthBasic
DontLog
AuthFlags
EnableDefaultDoc
AuthNTLM
EnableDirBrowsing
AuthPersistence
EnableDocFooter
AuthPersistSingleRequest
EnableReverseDns
AuthPersistSingleRequestIfProxy
HttpCustomHeaders
AuthPersistSingleRequestAlwaysIfProxy HttpErrors
CacheControlCustom
HttpExpires
CacheControlMaxAge
HttpPics
CacheControlNoCache
HttpRedirect
CacheISAPI
IPSecurity
ContentIndexed
LogonMethod
CpuAppEnabled
MimeMap
CpuCgiEnabled
Path
CreateCGIWithNewConsole
PoolIDCTimeout
CreateProcessAsUser
PutReadSize
DefaultDoc
Realm
DefaultDocFooter
RedirectHeaders
DefaultLogonDomain
ScriptMaps
DirBrowseFlags
SSIExecDisable
DirBrowseShowDate
UNCAuthenticationPassthrough
DirBrowseShowExtension
UNCPassword
DirBrowseShowLongDate
UNCUserName
DirBrowseShowSize
UploadReadAheadSize
Методы
AppCreate
Создание приложения в указанном разделе
метабазы (параметр типа Boolean).
AppCreate2
Создание приложения в указанном разделе
метабазы (параметр типа Long).
AppDelete
Удаление определения приложения в
указанном разделе.
AppDeleteRecursive
Удаление определений приложения в
указанном разделе и его подразделах.
AppDisable
Отключение приложения в указанном
разделе.
AppDisableRecursive
Отключение приложения в указанном
разделе и его подразделах.
AppEnable
Включение приложения, отключенного
ранее, в указанном разделе.
AppEnableRecursive
Включение приложений, отключенных
ранее, в указанном разделе и его
подразделах.
AppGetStatus
Получение состояния приложения.
AppUnload
Выгрузка приложения в указанном разделе.
AppUnloadRecursive
Выгрузка приложения в указанном разделе
и его подразделах.
AspAppRestart
Этот метод перезапускает приложение ASP,
вызвавшее его.
См. также
Методы объекта ADSI
Обычные методы для объектов ADSI.
Методы объекта-контейнера ADSI
Обычные методы для объектов-контейнеров
ADSI.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Константы
В методах и свойствах объектов IIS Admin используются следующие константы:
<%
Const
Const
Const
Const
Const
Const
Const
Const
Const
Const
Const
Const
Const
Const
Const
Const
Const
Const
Const
Const
Const
Const
Const
Const
ADS_PROPERTY_CLEAR = 1
'PutEx
ADS_PROPERTY_UPDATE = 2
'PutEx
APPSTATUS_NOTDEFINED = 4
'AppStatus
APPSTATUS_RUNNING = 2
'AppStatus
APPSTATUS_STOPPED = 3
'AppStatus
APPSTATUS_UNLOADED = 1
'AppStatus
IIS_ANY_PROPERTY = 0
'GetDataPaths
IIS_INHERITABLE_ONLY = 1
'GetDataPaths
MD_ERROR_DATA_NOT_FOUND = &H800CC801
'GetDataPaths
MD_ERROR_IISAO_INVALID_SCHEMA = &H8800CC810
'GetObject
MD_BACKUP_FORCE_BACKUP = 4
'Backup
MD_BACKUP_HIGHEST_VERSION = &HFFFFFFFE
'Backup, Delete, Restore
MD_BACKUP_MAX_VERSION = 9999
'Limit
MD_BACKUP_MAX_LEN = 100
'Limit
MD_BACKUP_NEXT_VERSION = &HFFFFFFFF
'Backup
MD_BACKUP_OVERWRITE = 1
'Backup
MD_BACKUP_SAVE_FIRST = 2
'Backup
MD_SERVER_STATE_CONTINUING = 7
'ServerState
MD_SERVER_STATE_PAUSING = 5
'ServerState
MD_SERVER_STATE_PAUSED = 6
'ServerState
MD_SERVER_STATE_STARTING = 1
'ServerState
MD_SERVER_STATE_STARTED = 2
'ServerState
MD_SERVER_STATE_STOPPING = 3
'ServerState
MD_SERVER_STATE_STOPPED = 4
'ServerState
Const NOT_A_VALID_PROPERTY = &H80005006
%>
'Разные методы
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Справка по ADSI
В этом разделе описаны свойства и методы, присущие объектам IIS Admin. В разделе
рассматриваются следующие вопросы.





Свойства объектов ADSI. Описание шести основных свойств, которые должны
присутствовать в объектах IIS Admin (Name, ADsPath, Class, GUID, Parent и
Schema).
Методы объекта ADSI. Список методов, реализованных в объектах IIS Admin.
Свойства объекта-контейнера ADSI. Обсуждение дополнительных атрибутов,
реализованных в объекте-контейнере IIS Admin.
Методы объекта-контейнера ADSI. Описание методов, реализуемых объектомконтейнером ADSI и управляющих объектами IIS Admin и разделами метабазы.
Изменения в ADSI в IIS 5.1. Краткое описание изменений в поставщике IIS ADSI
в IIS 5.1.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Свойства объектов ADSI
В объектах IIS Admin реализованы шесть основных свойств, необходимых для объектов
ADSI. Все эти свойства используют тип данных string.
Свойство ADSI
Описание
Name
Имя объекта, используемое в базовом
пространстве имен.
ADsPath
Путь, уникально идентифицирующий объект,
и который используется в GetObject для
возвращения объекта.
Class
Название класса схемы объекта.
GUID
Уникальный идентификатор для объектов
этого класса схем. В IIS используется
глобальный уникальный идентификатор
(GUID).
Parent
Свойство ADsPath родительского объектаконтейнера.
Schema
Свойство ADsPath объекта, представляющего
этот класс схем в данной схеме.
Свойства объекта ADSI доступны только для чтения и предоставлены для использования
клиентскими программами ADSI в целях администрирования пространства имен ADSI.
Следующая таблица содержит пример свойств ADSI для объекта IIsWebService.
LocalHost обозначает имя локального компьютера, на котором работает IIS.
Свойство ADSI
Значение
Name
W3SVC
ADsPath
IIS://LocalHost/W3SVC
Class
IIsWebService
GUID
{8B645280-7BA4-11CF-B03D00AA006E0975}
Parent
IIS://LocalHost
Schema
IIS://LocalHost/schema/IIsWebService
Для документирования структуры данной установленной копии IIS можно использовать
свойство ADSI Name.
Для управления конфигурацией данной установленной копии IIS можно использовать
свойства метабазы, поддерживаемые объектами IIS Admin. См. раздел Методы объекта
ADSI и свойства указанной метабазы, поддерживаемые каждым отдельным объектом IIS
Admin.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Методы объекта ADSI
Методы ADSI объектов IIS Admin можно использовать для изменения значений свойств
метабазы, управляющих конфигурацией IIS. Чтобы настроить определенный элемент IIS,
откройте объект IIS Admin, соответствующий разделу метабазы, связанному с этим
элементом, измените значения свойств, кэшируемых в объекте, и укажите на
необходимость сохранения измененных значений в метабазе.
Следующие методы ADSI, предоставляемые объектами IIS Admin, служат для установки
или запроса свойств метабазы.
Метод
Описание
Get
Возврат значения именованного свойства объекта.
GetDataPaths
Возврат путей ко всем расположениям свойства метабазы,
подчиненным указанному начальному пути.
GetEx
Возврат одного или нескольких значений именованного
однозначного или многозначного свойства или объекта.
GetInfo
Перезагрузка объекта со значениями свойств, существующими в
метабазе.
GetPropertyAttribObj Возврат объекта, содержащего атрибуты свойства. Этот объект
затем может быть использован для получения отдельных
атрибутов свойств ADSI.
Put
Установка значения именованного свойства объекта.
PutEx
Установка одного или нескольких значений именованного
однозначного или многозначного свойства или объекта.
SetInfo
Запись значений свойства объекта в метабазе.
Метод GetInfo перезагружает значения свойств из метабазы в объект. Когда один из
объектов IIS Admin создается или открывается функцией GetObject, его свойства
инициализируются из метабазы. Можно, используя метод GetInfo, обновить эти значения
из метабазы для замены всех изменений, внесенных в значения свойств и кэшируемые в
объекте. Затем, используя метод Get или GetEx, можно получить свойства объекта и
назначить их переменным, а используя метод Put или PutEx – изменить значения свойств
объекта.
При использовании в таких языках, как VBScript и JScript, объекты IIS Admin также
поддерживают синтаксис объект.свойство. Для записи значений свойств из объекта в
метабазу можно использовать метод SetInfo. При вызове метода SetInfo в метабазу
записываются только измененные свойства объекта. Если не вызвать метод SetInfo,
изменения не будут записаны в метабазу.
Примечание. Если один из объектов IIS Admin привязан к метабазе, при изменении
значений свойств этого объекта метабаза не блокируется. В то время, когда значения
получены из метабазы, но после изменения еще не сохранены в ней, другие программы
могут изменять значения в метабазе. Необходимо по возможности уменьшить время
между получением и сохранением значений.
Свойства ADSI относятся только к объекту, а другие свойства (не ADSI) – к метабазе. При
получении свойств ASDI необходимо использовать синтаксис объект.свойство, а при
работе со свойствами метабазы можно использовать как синтаксис объект.свойство, так и
методы ADSI, такие как Get и Put.
Пример
На следующем примере сценария VBScript показано, как можно использовать методы
ADSI объектов IIS Admin для изменения значений в метабазе; в нем также
иллюстрируется наследование свойств метабазы для повышения эффективности.
MyComputer обозначает имя локального компьютера, на котором работает IIS.
<%
Dim WebServerObj
Dim VDirObj
'Открытие объекта для первого корневого каталога виртуального веб-сервера.
Set WebServerObj = GetObject("IIS://MyComputer/W3SVC/1/Root")
'Запрет записи во все папки и файлы
'этого сервера (кроме тех, доступ к которым установлен отдельно)
'с использованием метода Put.
WebServerObj.Put "AccessWrite", False
'Сохранение измененных значений в метабазе.
WebServerObj.SetInfo
'Получение каталога, подчиненного корневому каталогу веб-сервера.
Set VDirObj = GetObject("IIS://MyComputer/W3SVC/1/Root/Vdir1/Dir1a")
'Перезапись унаследованного значения доступа на запись
'с использованием метода с точкой, эквивалентного Put.
VDirObj.AccessWrite = True
'Сохранение измененных значений в метабазе.
VDirObj.SetInfo
%>
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Get
Метод Get ADSI применительно к объектам IIS Admin получает значение свойства из
метабазы и сохраняет его в переменной. Некоторые языки, такие как VBScript, также
поддерживают синтаксис объект.свойство как альтернативу методам Get и Put.
Синтаксис
значение = объект.Get(свойство)
или
значение = объект.свойство
Обозначения
значение
Переменная, которой присваивается возвращенное значение свойства.
объект
Объект IIS Admin. Обычно это результат предшествующей операции GetObject.
свойство
Свойство объекта, получаемое из метабазы.
Пример программы
<%
Dim IIsObj, vRead, vWrite
Set IIsObj = GetObject("IIS://LocalHost/W3SVC/1/Root")
'Получение значения из объекта.
vRead = IIsObj.Get("AccessRead")
'Допускается также синтаксис объект.свойство.
vWrite = IIsObj.AccessWrite
' Установка значений.
vRead = True
vWrite = False
'Возврат значений в объект.
IIsObj.Put "AccessRead", vRead
'Использование необязательного синтаксиса объект.свойство.
IIsObj.AccessWrite = vWrite
'Сохранение изменений в метабазе.
IIsObj.SetInfo
%>
См. также
GetInfo, SetInfo, Put, GetEx, PutEx
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
GetDataPaths
Метод ADSI GetDataPaths служит для поиска путей к разделам метабазы, где
расположено указанное свойство любого объекта IIS Admin. Этот метод можно
использовать для поиска копий свойства, чтобы предотвратить наследование значений
разделами. Поиск пути будет начат с раздела, связанного с объектом, указанном в
GetDataPaths, и вернет начальный путь, если указанное свойство находится в этом
разделе. Например, если использовать метод GetDataPaths для объекта IIsWebServer на
третьем веб-сервере, поиск начнется с каталога IIS://LocalHost/W3SVC/3 и вернет пути
IIS://LocalHost/W3SVC/3, IIS://LocalHost/W3SVC/3/ROOT/VDir1 и
IIS://LocalHost/W3SVC/3/ROOT/VDir1/Dir1/File1, если в соответствующих разделах будет
найдено указанное свойство.
Параметр данного метода позволяет указать область поиска: только пути свойства с
возможностью наследования либо все пути свойства. Используя метод GetDataPaths,
можно определять как возможность наследования данного свойства, так и расположение
всех его копий.
Синтаксис
список_путей = объект.GetDataPaths(свойство, флаг_атрибута)
Обозначения
список_путей
Переменная, которой присваивается список путей к копиям указанного свойства.
объект
Объект IIS Admin. Обычно это результат предшествующей операции GetObject.
свойство
Свойство, пути к копиям которого требуется найти.
флаг_атрибута
Один из следующих флагов:
IIS_ANY_PROPERTY
Поиск путей независимо от
возможности наследования свойства.
IIS_INHERITABLE_ONLY
Поиск путей, только если свойство
обладает возможностью наследования.
В противном случае возвращается
значение
MD_ERROR_DATA_NOT_FOUND.
Примечания
Для извлечения из списка_путей отдельных путей служит инструкция For each Path in
PathList...Next.
Пример программы
<%
Const IIS_ANY_PROPERTY = 0
Const IIS_INHERITABLE_ONLY = 1
Const MD_ERROR_DATA_NOT_FOUND = &H800CC801
Dim WebSvrObj, PathList, vProperty
On Error Resume Next
'Получение объекта для первого веб-сервера.
Set WebSvrObj = GetObject("IIS://LocalHost/W3SVC/1")
'Получение путей, по которым расположено свойство.
vProperty = "AccessFlags"
PathList = WebSvrObj.GetDataPaths(vProperty, IIS_INHERITABLE_ONLY)
If Err.Number = 0 Then
Response.Write "Paths for property " & vProperty & "<BR>"
For each Path in PathList
Response.Write Path & "<BR>"
Next
ElseIf Err.Number = MD_ERROR_DATA_NOT_FOUND Then
Response.Write "Property is not inheritable.<BR>"
ElseIf Err.Number = &H80005006 Then
Response.Write "Property does not exist.<BR>"
Else
Response.Write "Error " & Err.Number & " " & Err.Description
End If
%>
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
GetEx
Метод ADSI GetEx возвращает значение однозначного или многозначного свойства из
объекта и помещает его в переменную массива типа Variant.
Синтаксис
значение = объект.GetEx(свойство)
Обозначения
значение
Переменная, которой присваивается возвращенное методом значение свойства.
объект
Объект IIS Admin. Обычно это результат предшествующей операции GetObject.
свойство
Свойство объекта, получаемое из метабазы.
Возвращаемые значения
Возвращается значение указанного свойства.
Пример программы
<%
Dim IIsObj, vList
Set IIsObj = GetObject("IIS://LocalHost/W3SVC/Info")
'Получение значения из объекта.
vList = IIsObj.GetEx("CustomErrorDescriptions")
'Изменение списка.
'Возвращение значения в объект.
IIsObj.PutEx 2, "CustomErrorDescriptions", vList
IIsObj.SetInfo
%>
См. также
GetInfo, SetInfo, Get, Put, PutEx
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
GetInfo
Метод ADSI GetInfo повторно инициализирует свойства объекта, используя значения из
метабазы. Поскольку свойства объекта автоматически инициализируются при его
создании, этот метод следует использовать, только если требуется заменить свойства
объекта текущими свойствами из метабазы.
Синтаксис
объект.GetInfo
Обозначения
объект
Объект IIS Admin. Обычно это результат предшествующей операции GetObject.
Пример программы
<%
Dim IIsObj
Set IIsObj = GetObject("IIS://LocalHost/W3SVC/1/Root")
'Изменение свойств.
' . . .
'Восстановление значений свойств объекта с утерей изменений.
IIsObj.GetInfo
%>
См. также
SetInfo, Get, Put, GetEx, PutEx
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
GetPropertyAttribObj
Этот метод позволяет получить сведения об атрибутах отдельных свойств ADSI. Метод
GetPropertyAttribObj работает следующим образом:



Возвращает объект PropertyAttribute, содержащий атрибуты свойства, если это
свойство установлено на этом узле или на каком-либо родительском узле и
является наследуемым.
Возвращает ошибку, если свойство не установлено на этом узле или на
родительском узле и является наследуемым.
Возвращает ошибку, если свойство не установлено на этом узле, но установлено на
родительском узле и не является наследуемым.
Синтаксис
Инициализация:
объект_атр_свойств = объект.GetPropertyAttribObj(свойство)
Использование:
состояние = объект_атр_свойств.атрибут
Обозначения
объект_атр_свойств
Ссылка на объект PropertyAttribute, возвращающая атрибуты указанного
свойства объекта IIS Admin.
объект
Объект IIS Admin. Обычно это результат предшествующей операции GetObject.
свойство
Строка, содержащая имя свойства, атрибуты которого были запрошены.
состояние
Логическое значение, показывающее, включен или отключен указанный атрибут.
атрибут
Запрашиваемый атрибут. Возможные атрибуты:
Атрибут
Описание
Inherit
Указывает, что свойство является
наследуемым.
PartialPath
Указывает, что задан частичный путь.
Secure
Указывает, что свойство является
защищенным.
Reference
Указывает, что свойство получено по
ссылке.
Volatile
Указывает, что свойство может
изменяться.
IsInherit
Указывает, что свойство унаследовано.
InsertPath
Указывает, что строка свойства
содержит специальное значение для
вставки.
AllAttributes
Содержит все атрибуты,
перечисленные в этой таблице, в одной
переменной типа Long.
Примечания
В отличие от большинства других объектов ADSI, объект атрибутов свойства не
поддерживает методы Get и Set. Для доступа к отдельным атрибутам объекта атрибутов
свойства следует использовать синтаксис объект.свойство.
Примечание. Если выполняется вызов AppCreate или AppCreate2, сведения о пути к
объекту будут сохранены, но для создания данного объекта необходимо будет вызвать
метод SetInfo. Если метод SetInfo не будет вызван, выполнение последующих вызовов
объекта будет невозможно.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Put
Метод ADSI Put устанавливает значение свойства метабазы в объекте. Некоторые языки,
такие как VBScript, также поддерживают синтаксис объект.свойство как альтернативу
методам Get и Put.
Синтаксис
объект.Put свойство, значение
или
объект.свойство = значение
Обозначения
объект
Объект IIS Admin. Обычно это результат предшествующей операции GetObject.
свойство
Свойство объекта, получаемое из метабазы.
значение
Значение, присваиваемое указанному свойству.
Пример программы
<%
Dim IIsObj, vRead, vWrite
Set IIsObj = GetObject("IIS://LocalHost/W3SVC/1/Root")
'Получение значения из объекта.
vRead = IIsObj.Get("AccessRead")
'Допускается также синтаксис объект.свойство.
vWrite = IIsObj.AccessWrite
' Установка значений.
vRead = True
vWrite = False
'Возврат значений в объект.
IIsObj.Put "AccessRead", vRead
'Использование необязательного синтаксиса объект.свойство.
IIsObj.AccessWrite = vWrite
'Сохранение изменений в метабазе.
IIsObj.SetInfo
%>
См. также
GetInfo, SetInfo, Get, GetEx, PutEx
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
PutEx
Метод ADSI PutEx устанавливает значение однозначного или многозначного свойства
метабазы в объекте. Используя метод PutEx, можно удалять или очищать свойство в
разделе метабазы.
Синтаксис
объект.PutEx действие, свойство, значение
Обозначения
объект
Объект IIS Admin. Обычно это результат предшествующей операции GetObject.
действие
Указывает на обновление свойства или удаление его из объекта. Одно из
следующих: ADS_PROPERTY_CLEAR (значение 1) – удаление свойства,
ADS_PROPERTY_UPDATE (значение 2) – обновление свойства.
свойство
Свойство объекта, получаемое из метабазы.
значение
Значение, присваиваемое указанному свойству. Пустая строка при удалении
свойства (действие = ADS_PROPERTY_CLEAR).
Примечания
Если свойство метабазы должно использовать в качестве раздела унаследованные данные,
оно не должно существовать в данном разделе. Если оно существует, его можно удалить
действием ADS_PROPERTY_CLEAR. (Для поиска разделов, в которых существует
свойство, служит общий для всех объектов IIS Admin метод GetDataPaths).
Пример программы
<%
Dim IIsObj, vList
Set IIsObj = GetObject("IIS://LocalHost/W3SVC/Info")
'Получение значения из объекта.
vList = IIsObj.GetEx("CustomErrorDescriptions")
'Изменение списка.
'Возврат значений
IIsObj.PutEx 2,
'Удаление другого
IIsObj.PutEx 1,
IIsObj.SetInfo
%>
в объект.
"CustomErrorDescriptions", vList
свойства из объекта.
"ObsoleteProperty", ""
См. также
GetInfo, SetInfo, Get, Put, GetEx
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
SetInfo
Метод ADSI SetInfo сохраняет измененные свойства объекта в метабазе. После изменения
некоторых или всех значений в свойствах объекта необходимо использовать метод SetInfo
для сохранения новых значений в метабазе. В метабазе будут сохранены только
измененные значения; неизмененные значения перезаписаны не будут.
Синтаксис
объект.SetInfo
Обозначения
объект
Объект IIS Admin. Обычно это результат предшествующей операции GetObject.
Пример программы
<%
Dim IIsObj
Set IIsObj = GetObject("IIS://LocalHost/W3SVC/1/Root")
'Изменение свойств.
' . . .
'Сохранение изменений в метабазе.
IIsObj.SetInfo
%>
Примечание. Если создать специальный объект, вызвав метод AppCreate, но не вызвав
метод SetInfo, все вызовы этого специального объекта выполнены не будут, так как путь
будет существовать, а объект —нет. Если осуществлен вызов AppCreate или AppCreate2,
будут подготовлены сведения для создания объекта, но сам объект не будет создан до
вызова метода SetInfo.
См. также
GetInfo, Get, Put, GetEx, PutEx
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Свойства объекта-контейнера ADSI
К объектам IIS Admin, которые могут содержать другие объекты, также можно применять
методы и свойства контейнера ADSI. Сюда входят следующие свойства контейнера ADSI,
доступные только для чтения:
Свойства контейнера ADSI
Описание
_NewEnum
Объект Enumerator, используемый для
возврата содержащихся объектов. Это
свойство позволяет языкам,
поддерживающим программирование
объектов, таким как VBScript, перечислять
содержащиеся объекты с помощью
синтаксиса "For Each объект in
объект_контейнер".
Count
Количество объектов в объекте-контейнере.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Методы объекта-контейнера ADSI
Управлять разделами метабазы можно с помощью методов объекта-контейнера ADSI
применительно к объектам IIS Admin. Можно создавать, удалять и перемещать разделы,
создавая, удаляя и перемещая объекты IIS Admin внутри объектов-контейнеров. С
помощью методов объекта-контейнера также можно подсчитывать содержащиеся в нем
объекты, такие как виртуальные каталоги или серверы.
Следующие методы объекта-контейнера ADSI служат для управления объектами IIS
Admin и разделами метабазы:
Метод
Описание
CopyHere
Копирование объекта в контейнер.
Create
Создание нового объекта в контейнере.
Delete
Удаление объекта из контейнера.
GetObject
Доступ к объекту в контейнере.
MoveHere
Копирование объекта в контейнер и удаление исходного объекта.
Примечание. Если один из объектов IIS Admin является объектом-контейнером, он
сохраняет свои свойства и методы объекта ADSI, а также все методы, относящиеся к IIS, и
связанные свойства метабазы.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
CopyHere
Метод CopyHere объекта-контейнера ADSI копирует объект в контейнер.
Синтаксис
Set копируемый_объект = объект.CopyHere(исходное_имя, новое_имя)
Обозначения
копируемый_объект
Объект, копируемый в контейнер.
объект
Объект IIS Admin. Обычно это результат предшествующей операции GetObject.
исходное_имя
Имя объекта, который требуется скопировать.
новое_имя
Новое имя копируемого объекта.
Примечания
Переменная копируемый_объект получает указатель на сам объект, остающийся в
контейнере.
Если содержащийся объект должен быть скопирован как часть приложения, метод
CopyHere удалит определение приложения, прежде чем скопировать этот объект. См.
метод AppDelete объектов IIsWebVirtualDir и IIsWebDirectory.
Пример программы
<%
Dim ToVDirObj, FromVDirObj, RootVDirObj
'Получение корневого виртуального каталога объекта какого-либо сервера.
Set RootVDirObj = GetObject("IIS://LocalHost/W3SVC/4/ROOT")
'Копирование объекта виртуального каталога.
'Также возвращается указатель на новый объект.
Set ToVdirObj = RootVDirObj.CopyHere("VDir1", "VDir2")
ToVdirObj.SetInfo
%>
См. также
GetObject, Create, Delete, MoveHere
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Create
Метод Create объекта-контейнера ADSI создает новый объект в контейнере.
Синтаксис
Set новый_объект = объект.Create(тип, имя)
Обозначения
новый_объект
Объект, создаваемый в контейнере.
объект
Объект IIS Admin. Обычно это результат предшествующей операции GetObject.
тип
Тип создаваемого объекта IIS Admin.
имя
Имя нового объекта.
Пример программы
<%
Dim WebServiceObj, ServerObj
'Получение объекта службы Веб, содержащего серверы.
Set WebServiceObj = GetObject("IIS://LocalHost/W3SVC")
'Создание в контейнере нового объекта веб-сервер.
Set ServerObj = WebServiceObj.Create("IIsWebServer", "3")
'Добавьте дополнительные инструкции для настройки сервера и создания
виртуального корневого каталога.
'Сохранение нового объекта в метабазе.
ServerObj.SetInfo
%>
См. также
GetObject, Delete, CopyHere, MoveHere
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Delete
Метод Delete объекта ADSI container удаляет объект из контейнера.
Синтаксис
объект.Delete (тип, имя)
Обозначения
объект
Объект IIS Admin. Обычно это результат предшествующей операции GetObject.
тип
Тип объекта IIS Admin, который требуется удалить.
имя
Имя объекта, который требуется удалить.
Примечания
Если содержащийся объект должен быть удален как часть приложения, метод Delete
удалит определение приложения, прежде чем удалить этот объект. См. метод AppDelete
объектов IIsWebVirtualDir и IIsWebDirectory. Нет необходимости вызывать метод
SetInfo после удаления объекта.
Пример программы
<%
Dim WebServiceObj
'Получение объекта службы Веб, содержащего серверы.
Set WebServiceObj = GetObject("IIS://LocalHost/W3SVC")
'Удаление четвертого сервера.
WebServiceObj.Delete "IIsWebServer", "4"
%>
См. также
GetObject, Create, CopyHere, MoveHere
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
GetObject
Метод GetObject объекта-контейнера ADSI служит для доступа к объекту в контейнере.
Синтаксис
Set дочерний_объект = объект.GetObject(класс, имя_дочернего_объекта)
Обозначения
дочерний_объект
Доступ к объекту тем же путем, что и в случае функции ASP GetObject.
объект
Объект IIS Admin. Обычно это результат предшествующей операции GetObject.
класс
Класс требуемого объекта.
имя_дочернего_объекта
Имя требуемого объекта.
Примечания
Переменная дочерний_объект получает указатель на сам объект, остающийся в
контейнере.
Пример программы
<%
Dim WebServiceObj, ServerObj
'Получение объекта службы Веб, содержащего серверы.
Set WebServiceObj = GetObject("IIS://LocalHost/W3SVC")
'Доступ к объекту третьего веб-сервера.
Set ServerObj = WebServiceObj.GetObject("IIsWebServer", "3")
%>
См. также
Create, Delete, CopyHere, MoveHere
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
MoveHere
Метод MoveHere объекта-контейнера ADSI перемещает объект в контейнер и удаляет
исходный объект.
Синтаксис
Set перемещаемый_объект = объект.MoveHere(исходное_имя, новое_имя)
Обозначения
перемещаемый_объект
Объект, перемещаемый в контейнер.
объект
Объект IIS Admin. Обычно это результат предшествующей операции GetObject.
исходное_имя
Имя объекта, который требуется переместить.
новое_имя
Имя нового объекта.
Примечания
Переменная перемещаемый_объект получает указатель на сам объект, остающийся в
контейнере.
Метод MoveHere эквивалентен методу CopyHere, после которого выполняется метод
Delete.
Если содержащийся объект должен быть перемещен как часть приложения, метод
MoveHere отключает определение приложения, прежде чем переместить объект. См.
метод AppDisable объектов IIsWebVirtualDir и IIsWebDirectory.
Пример программы
<%
Dim ToVDirObj, FromVDirObj, RootVDirObj
'Получение корневого виртуального каталога объекта какого-либо сервера.
Set RootVDirObj = GetObject("IIS://LocalHost/W3SVC/3/ROOT")
'Получение объекта, который требуется переместить.
Set FromVDirObj = GetObject("IIS://LocalHost/W3SVC/3/ROOT/VDir1")
'Перемещение объекта с изменением имени.
Set ToVdirObj = RootVDirObj.MoveHere("VDir1", "VDir2")
'Освобождение исходного объекта, так как он удален.
Set FromVDirObj = nothing
%>
См. также
GetObject, Create, Delete, CopyHere
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Изменения ADSI в IIS 5.1
Этот раздел содержит сведения об изменениях и дополнениях поставщика ADSI в IIS 5.1.





Средства повышения быстродействия IIS. Описание новых средств повышения
производительности в IIS 5.1.
Свойства ADSI, удаленные из IIS 5.1. Список всех свойств, поддерживаемых в
предыдущих версиях, но отсутствующих в IIS 5.1.
Свойства ADSI, добавленные в IIS 5.1. Список новых свойств IIS 5.1 со ссылками
на полное описание каждого свойства.
Изменения в типах разделов свойств ADSI в IIS 5.1. Список всех свойств, типы
разделов которых изменены в IIS 5.1.
Свойства ADSI, измененные в IIS 5.1. Cписок всех свойств, измененных в IIS 5.1.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Средства повышения быстродействия IIS
Группировка соединителей узла
В IIS 4.0 каждому веб-узлу назначен отдельный IP-адрес. Это значит, что каждый узел
имеет свой собственный соединитель, не связанный с узлами, которым назначены другие
IP-адреса. Эти соединители создаются при запуске каждого узла и могут занимать
значительное количество памяти, не разбиваемой на страницы (ОЗУ). Такое
распределение памяти ограничивает число узлов, связанных с IP-адресами, которые могут
быть созданы на одном компьютере, так как после запуска некоторого количества узлов
на компьютере возникнет нехватка оперативной памяти.
В IIS 5.0 этот процесс был изменен так, что узлы, которым назначены разные IP-адреса, но
которые используют один номер порта, используют один набор соединителей. В
результате одному IP-адресу на одном компьютере можно назначить большее количество
узлов, чем в IIS 4.0. В IIS 5.1 эти совместно используемые соединители гибко
распределяются между всеми запущенными узлами, что уменьшает объем используемых
ресурсов.
Теперь это основной режим работы IIS, начиная с версии 5.0. Как правило, это свойство
не следует изменять. Однако для особо важных узлов, требующих отдельный
соединитель, можно установить DisableSocketPooling в значение TRUE, чтобы вернуться
к режиму работы, как в IIS 4.0. Это изменение следует выполнять только на уровне узла,
чтобы другие узлы могли продолжать использовать преимущества группировки
соединителей.
Группировка соединителей, вопросы быстродействия и безопасности
Необходимость отключения группировки соединителей может возникнуть при
выполнении любого из следующих условий:


размещено небольшое число узлов;
имеются особые требования к безопасности.
Группировка соединителей проводит к тому, что IIS 5.1 прослушивает все IP-адреса. Это
может представлять угрозу для безопасности защищенных доменов с множественными
сетями. Кроме того, и регулирование полосы пропускания, и корректировка
быстродействия будут применяться ко всем веб-узлам, сконфигурированным под один
порт, например порт 80. Если предполагается использовать регулирование полосы
пропускания или выполнить подстройку быстродействия для каждого узла по
отдельности, необходимо назначить каждому узлу собственный IP-адрес и отключить
группировку соединителей. Веб-узлы, использующие заголовки узлов, нельзя настроить
индивидуально.
Чтобы отключить группировку соединителей, введите в командной стройке следующую
команду:
c:\inetpub\adminscripts\cscript adsutil.vbs set w3svc/disablesocketpooling true
В командной строке будет получен ответ:
disablesocketpooling : (BOOLEAN) True
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Свойства ADSI, удаленные из IIS 5.1
Следующее свойство ADSI больше не используется.
AspMemFreeFactor
Это свойство больше не используется.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Свойства ADSI, добавленные в IIS 5.1
В IIS 5.1 добавлены следующие новые свойства ADSI:
AspEnableApplicationRestart
DisableSocketPooling
AspEnableAspHtmlFallback
HcCacheControlHeader
AspEnableChunkedEncoding
HcCompressionBufferSize
AspEnableTypelibCache
HcCompressionDirectory
AspErrorsToNTLog
HcCompressionDll
AspProcessorThreadMax
HcCreateFlags
AspQueueConnectionTestTime
HcDoDiskSpaceLimiting
AspRequestQueueMax
HcDoDynamicCompression
AspSessionMax
HcDoOnDemandCompression
AspTrackThreadingModel
HcDoStaticCompression
CPUAppEnabled
HcDynamicCompressionLevel
CPUCGIEnabled
HcExpiresHeader
CPUCGILimit
HcFileExtensions
CPUEnableActiveProcs
HcFilesDeletedPerDiskFree
CPUEnableAllProcLogging
HcIoBufferSize
CPUEnableAppLogging
HcMaxDiskSpaceUsage
CPUEnableCGILogging
HcMaxQueueLength
CPUEnableEvent
HcMimeType
CPUEnableKernelTime
HcMinFileSizeForComp
CPUEnablePageFaults
HcNoCompressionForHttp10
CPUEnableProcType
HcNoCompressionForProxies
CPUEnableTerminatedProcs
HcNoCompressionForRange
CPUEnableTotalProcs
HcOnDemandCompLevel
CPUEnableUserTime
HcPriority
CPULimitLogEvent
HcSendCacheHeaders
CPULimitPause
LogCustomPropertyDataType
CPULimitPriority
LogCustomPropertyHeader
CPULimitProcStop
LogCustomPropertyID
CPULimitsEnabled
LogCustomPropertyMask
CPULoggingInterval
LogCustomPropertyName
CPULoggingMask
LogCustomPropertyServicesString
CPULoggingOptions
LogExtFileHost
CPUResetInterval
SSLUseDSMapper
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Изменения в типах разделов свойств ADSI в IIS 5.1
Типы разделов метабазы следующих свойств изменены относительно IIS 4.0. Чтобы
ознакомиться с полным описанием типа раздела, щелкните требуемую ссылку.
KeyType
FrontPageWeb
CacheISAPI
AspTrackThreadingModel
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Свойства ADSI, измененные в IIS 5.1
В настоящий момент существует одно измененное свойство. Дополнительные сведения
содержатся в алфавитном списке свойств IIS 5.1.
Примечание. Элементы, реализованные после выпуска этой версии, описаны в SDK
платформы.
Изменения в синтаксисе ScriptMaps:
Синтаксис свойства ScriptMaps изменился; теперь вместо исключения требуется
указывать включение требуемых команд. (В предыдущих версиях можно было
перечислить исключения команд, но синтаксис данной версии этого не допускает). Из-за
смены исключений на включения в синтаксисе свойств необходимо указывать команды.
Дополнительные сведения содержатся в разделе ScriptMaps.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Справочник по административным
свойствам
Административные свойства связаны со значениями параметров метабазы. Данный
справочник содержит описание каждого свойства, включая тип данных, значение по
умолчанию, атрибут наследования и сведения об использовании. Для каждого свойства
перечислены объекты IIS Admin, которые могут к нему обращаться. Дополнительные
сведения об объектах IIS Admin см. в разделе Использование объектов IIS Admin.
Примечание. Для программистов, реализующих алгоритмы на уровне объекта IIS Admin
Base, приведены дополнительные сведения об этом объекте.
В этом разделе рассматриваются следующие вопросы.


Алфавитный список свойств. Список, обеспечивающий быстрый доступ к
описаниям отдельных свойств.
Сравнение типов данных ADSI и объекта Base. Краткий справочник для
программистов, реализующих алгоритмы на уровне объекта IIS Admin Base.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Алфавитный список свойств
A – Anon…
AccessExecute
AccessSSLNegotiateCert
AccessFlags
AccessSSLRequireCert
AccessNoRemoteExecute
AccessWrite
AccessNoRemoteRead
AdminACL
AccessNoRemoteScript
AdminServer
AccessNoRemoteWrite
AllowAnonymous
AccessRead
AllowKeepAlive
AccessScript
AllowPathInfoForScriptMappings
AccessSource
AnonymousOnly
AccessSSL
AnonymousPasswordSync
AccessSSL128
AnonymousUserName
AccessSSLFlags
AnonymousUserPass
AccessSSLMapCert
App… – Asp…
AppAllowClientDebug
AspLogErrorRequests
AppAllowDebugging
AspProcessorThreadMax
AppFriendlyName
AspQueueConnectionTestTime
AppIsolated
AspQueueTimeout
AppOopRecoverLimit
AspRequestQueueMax
AppPackageID
AspScriptEngineCacheMax
AppPackageName
AspScriptErrorMessage
AppRoot
AspScriptErrorSentToBrowser
AppWamClsID
AspScriptFileCacheSize
AspAllowOutOfProcComponents
AspScriptLanguage
AspAllowSessionState
AspScriptTimeout
AspBufferingOn
AspSessionMax
AspCodepage
AspSessionTimeout
AspEnableApplicationRestart
AspThreadGateEnabled
AspEnableAspHtmlFallback
AspThreadGateLoadHigh
AspEnableChunkedEncoding
AspThreadGateLoadLow
AspEnableParentPaths
AspThreadGateSleepDelay
AspEnableTypelibCache
AspThreadGateSleepMax
AspErrorsToNTLog
AspThreadGateTimeSlice
AspExceptionCatchEnable
AspTrackThreadingModel
AspLCID
Auth… – D
AuthAnonymous
CpuEnableTerminatedProcs
AuthBasic
CpuEnableTotalProcs
AuthFlags
CpuEnableUserTime
AuthNTLM
CpuLimitLogEvent
AuthPersistence
CpuLimitPause
AuthPersistSingleRequest
CpuLimitPriority
AuthPersistSingleRequestIfProxy
CpuLimitProcStop
AuthPersistSingleRequestAlwaysIfProxy CpuLimitsEnabled
CacheControlCustom
CpuLoggingInterval
CacheControlMaxAge
CpuLoggingMask
CacheControlNoCache
CpuLoggingOptions
CacheISAPI
CpuResetInterval
CertCheckMode
CreateCGIWithNewConsole
CGITimeout
CreateProcessAsUser
ConnectionTimeout
CustomErrorDescriptions
ContentIndexed
DefaultDoc
CpuAppEnabled
DefaultDocFooter
CpuCgiEnabled
DefaultLogonDomain
CpuCgiLimit
DirBrowseFlags
CpuEnableActiveProcs
DirBrowseShowDate
CpuEnableAllProcLogging
DirBrowseShowExtension
CpuEnableAppLogging
DirBrowseShowLongDate
CpuEnableCgiLogging
DirBrowseShowSize
CpuEnableEvent
DirBrowseShowTime
CpuEnableKernelTime
DirectoryLevelsToScan
CpuEnableLogging
DisableSocketPooling
CpuEnablePageFaults
DontLog
CpuEnableProcType
E-K
EnableDefaultDoc
HcExpiresHeader
EnableDirBrowsing
HcFileExtensions
EnableDocFooter
HcFilesDeletedPerDiskFree
EnableReverseDns
HcIoBufferSize
ExitMessage
HcMaxDiskSpaceUsage
FilterDescription
HcMaxQueueLength
FilterEnabled
HcMimeType
FilterFlags
HcMinFileSizeForComp
FilterLoadOrder
HcNoCompressionForHttp10
FilterPath
HcNoCompressionForProxies
FilterState
HcNoCompressionForRange
FrontPageWeb
HcOnDemandCompLevel
FtpDirBrowseShowLongDate
HcPriority
GreetingMessage
HcSendCacheHeaders
HcCacheControlHeader
HcScriptFileExtensions
HcCompressionBufferSize
HttpCustomHeaders
HcCompressionDirectory
HttpErrors
HcCompressionDll
HttpExpires
HcCreateFlags
HttpPics
HcDoDiskSpaceLimiting
HttpRedirect
HcDoDynamicCompression
InProcessIsapiApps
HcDoOnDemandCompression
IPSecurity
HcDoStaticCompression
KeyType
HcDynamicCompressionLevel
Log...
LogAnonymous
LogExtFileTime
LogCustomPropertyDataType
LogExtFileTimeTaken
LogCustomPropertyHeader
LogExtFileUriQuery
LogCustomPropertyID
LogExtFileUriStem
LogCustomPropertyMask
LogExtFileUserAgent
LogCustomPropertyName
LogExtFileUserName
LogCustomPropertyServicesString
LogExtFileWin32Status
LogExtFileBytesRecv
LogFileDirectory
LogExtFileBytesSent
LogFileLocaltimeRollover
LogExtFileClientIp
LogFilePeriod
LogExtFileComputerName
LogFileTruncateSize
LogExtFileCookie
LogModuleId
LogExtFileDate
LogModuleList
LogExtFileFlags
LogModuleUiId
LogExtFileHost
LogNonAnonymous
LogExtFileHttpStatus
LogOdbcDataSource
LogExtFileMethod
LogOdbcPassword
LogExtFileProtocolVersion
LogOdbcTableName
LogExtFileReferer
LogOdbcUserName
LogExtFileServerIp
LogonMethod
LogExtFileServerPort
LogPluginClsid
LogExtFileSiteName
LogType
M–R
MaxBandWidth
NotifyOrderMedium
MaxBandWidthBlocked
NotifyPreProcHeaders
MaxClientsMessage
NotifyReadRawData
MaxConnections
NotifySecurePort
MaxEndpointConnections
NotifySendRawData
MimeMap
NotifySendResponse
MSDOSDirOutput
NotifyUrlMap
NetLogonWorkstation
NTAuthenticationProviders
NoCache
PasswordCacheTTL
NotifyAccessDenied
PasswordChangeFlags
NotifyAuthentication
PasswordExpirePrenotifyDays
NotifyEndOfNetSession
Path
NotifyEndOfRequest
PoolIDCTimeout
NotifyLog
ProcessNTCRIfLoggedOn
NotifyNonSecurePort
PutReadSize
NotifyOrderHigh
Realm
NotifyOrderLow
RedirectHeaders
Script...– Z
ScriptMaps
ServerState
SecureBindings
SSIExecDisable
ServerAutoStart
SSLUseDSMapper
ServerBindings
UNCAuthenticationPassthrough
ServerComment
UNCPassword
ServerConfigAutoPWSync
UNCUserName
ServerConfigFlags
UploadReadAheadSize
ServerConfigSSL128
UseDigestSSP
ServerConfigSSL40
UseHostName
ServerConfigSSLAllowEncrypt
WAMUserName
ServerListenBacklog
WAMUserPass
ServerListenTimeout
Win32Error
ServerSize
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
AccessExecute
Когда свойство AccessExecute, определяющее файловые разрешения, имеет значение
TRUE, оно разрешает выполнение сценариев ASP и других исполняемых файлов.
AccessExecute представляет собой один из флагов разрешений на доступ, содержащихся в
свойстве AccessFlags.
Тип данных
Логический (Boolean)
Значение по умолчанию FALSE
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип объекта IIS
Admin
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
/LM/W3SVC/N/ROOT
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог
IIsWebDirectory
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог/ВебФайл IIsWebFile
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Примечание. Это свойство является битовой маской, используемой с идентификатором
MD_ACCESS_PERM.
Идентификатор свойства в метабазе MD_ACCESS_PERM
Идентификатор битовой маски
MD_ACCESS_EXECUTE
Тип данных
DWORD_METADATA
Тип пользователя
IIS_MD_UT_FILE
Значение битовой маски
0x00000004
См. также
AccessFlags, AccessScript
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
AccessFlags
Это свойство содержит следующие флаги методов проверки подлинности:
AccessExecute
AccessNoRemoteWrite
AccessNoRemoteExecute AccessRead
AccessNoRemoteRead
AccessScript
AccessNoRemoteScript
AccessWrite
AccessSource
Разрешения, задаваемые установкой флагов AccessExecute, AccessScript,
AccessNoRemoteExecute и AccessNoRemoteScript в значение TRUE, не распространяются
на файлы, находящиеся на FTP-сервере.
Внимание! Предоставление разрешений на запись и на выполнение может повлечь
нежелательные последствия, так как при этом пользователи получают возможность
изменять расположенные в системе файлы и запускать в ней потенциально опасные
сценарии.
Флаги удаленного доступа действуют, только если установлены соответствующие им
основные флаги. Например, установка флага AccessNoRemoteRead не вызовет никаких
изменений, пока не будет установлен флаг AccessRead. Если установить оба эти флага,
локальный узел сможет считывать данный файл, а удаленный клиент — нет.
Установленный флаг AccessSource предоставляет клиентам доступ к исходным текстам с
помощью расширений HTTP, описанных в стандарте Web Distributed Authoring and
Versioning (WebDAV). Дополнительные сведения о WebDAV содержатся на веб-узле
WWW Distributed Authoring and Versioning и в разделе документации Публикация
WebDAV.
Примечание. К веб-службам, веб-серверам, веб-каталогам и веб-файлам применимы все
разрешения. К FTP-службам, FTP-серверам и FTP-каталогам применимы только
разрешения AccessRead и AccessWrite.
Тип данных
Длинное целое (Long)
Значение по умолчанию AccessRead = TRUE
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/MSFTPSVC
IIsFtpService
/LM/MSFTPSVC/N
IIsFtpServer
/LM/MSFTPSVC/N/ROOT
IIsFtpVirtualDir
/LM/MSFTPSVC/N/ROOT/ВиртуальныйFtpКаталог
IIsFtpVirtualDir
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
/LM/W3SVC/N/ROOT
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог
IIsWebDirectory
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог/ВебФайл IIsWebFile
Информация об объекте IIS Admin Base
В следующих таблицах перечислены дополнительные сведения, которые требуются
только для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_ACCESS_PERM
Битовая маска по умолчанию
MD_ACCESS_READ
Тип пользователя
IIS_MD_UT_FILE
Значения битовой маски
Константа
Значение
Описание
MD_ACCESS_READ
0x00000001
Разрешает доступ на
чтение.
MD_ACCESS_WRITE
0x00000002
Разрешает доступ на
запись.
MD_ACCESS_EXECUTE
0x00000004
Разрешает выполнение
файлов (в том числе
сценариев).
MD_ACCESS_SOURCE
0x00000010
Разрешает доступ к
источнику.
MD_ACCESS_SCRIPT
0x00000200
Разрешает выполнение
сценариев.
MD_ACCESS_NO_REMOTE_WRITE
0x00000400
Разрешает доступ на запись
только с локального узла.
MD_ACCESS_NO_REMOTE_READ
0x00001000
Разрешает доступ на
чтение только с локального
узла.
MD_ACCESS_NO_REMOTE_EXECUTE
0x00002000
Разрешает выполнение
только с локального узла.
MD_ACCESS_NO_REMOTE_SCRIPT
0x00004000
Разрешает только
локальный доступ к узлу.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
AccessNoRemoteExecute
Когда это свойство, определяющее файловые разрешения, имеет значение TRUE, оно
запрещает выполнение файла удаленными клиентами. Если свойство AccessExecute имеет
значение TRUE, этот файл может выполняться веб-сервером. AccessNoRemoteExecute
представляет собой один из флагов разрешений на доступ, содержащихся в свойстве
AccessFlags.
Тип данных
Логический (Boolean)
Значение по умолчанию TRUE
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип объекта IIS
Admin
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
/LM/W3SVC/N/ROOT
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог
IIsWebDirectory
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог/ВебФайл IIsWebFile
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Примечание. Это свойство является битовой маской, используемой с идентификатором
MD_ACCESS_PERM.
Идентификатор свойства в метабазе MD_ACCESS_PERM
Идентификатор битовой маски
MD_ACCESS_NO_REMOTE_EXECUTE
Значение битовой маски
0x00002000
Тип данных
DWORD_METADATA
Тип пользователя
IIS_MD_UT_FILE
См. также
AccessFlags
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
AccessNoRemoteRead
Когда это свойство, определяющее файловые разрешения, имеет значение TRUE, оно
запрещает чтение файла удаленными клиентами. Если свойство AccessRead имеет
значение TRUE, этот файл может читаться веб-сервером. AccessNoRemoteRead
представляет собой один из флагов разрешений на доступ, содержащихся в свойстве
AccessFlags.
Тип данных
Логический (Boolean)
Значение по умолчанию TRUE
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип объекта IIS
Admin
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
/LM/W3SVC/N/ROOT
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог
IIsWebDirectory
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог/ВебФайл IIsWebFile
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Примечание. Это свойство является битовой маской, используемой с идентификатором
MD_ACCESS_PERM.
Идентификатор свойства в метабазе MD_ACCESS_PERM
Идентификатор битовой маски
MD_ACCESS_NO_REMOTE_READ
Значение битовой маски
0x00001000
Тип данных
DWORD_METADATA
Тип пользователя
IIS_MD_UT_FILE
См. также
AccessFlags
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
AccessNoRemoteScript
Когда это свойство, определяющее файловые разрешения, имеет значение TRUE, оно
запрещает выполнение файла сценария удаленными клиентами. Если свойство
AccessExecute или AccessScript имеет значение TRUE, этот файл сценария может
выполняться веб-сервером. AccessNoRemoteScript представляет собой один из флагов
разрешений на доступ, содержащихся в свойстве AccessFlags.
Тип данных
Логический (Boolean)
Значение по умолчанию
TRUE
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип объекта IIS
Admin
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
/LM/W3SVC/N/ROOT
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог
IIsWebDirectory
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог/ВебФайл IIsWebFile
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Примечание. Это свойство является битовой маской, используемой с идентификатором
MD_ACCESS_PERM.
Идентификатор свойства в метабазе
MD_ACCESS_PERM
Идентификатор битовой маски
MD_ACCESS_NO_REMOTE_SCRIPT
Значение битовой маски
0x00004000
Тип данных
DWORD_METADATA
Тип пользователя
IIS_MD_UT_FILE
См. также
AccessFlags, AccessScript
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
AccessNoRemoteWrite
Когда это свойство, определяющее файловые разрешения, имеет значение TRUE, оно
запрещает запись в файл для удаленных клиентов. Если свойство AccessWrite имеет
значение TRUE, веб-сервер может осуществлять запись в файл. AccessNoRemoteWrite
представляет собой один из флагов разрешений на доступ, содержащихся в свойстве
AccessFlags.
Тип данных
Логический (Boolean)
Значение по умолчанию TRUE
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип объекта IIS
Admin
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
/LM/W3SVC/N/ROOT
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог
IIsWebDirectory
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог/ВебФайл IIsWebFile
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Примечание. Это свойство является битовой маской, используемой с идентификатором
MD_ACCESS_PERM.
Идентификатор свойства в метабазе
MD_ACCESS_PERM
Идентификатор битовой маски
MD_ACCESS_NO_REMOTE_WRITE
Значение битовой маски
0x00000400
Тип данных
DWORD_METADATA
Тип пользователя
IIS_MD_UT_FILE
См. также
AccessFlags
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
AccessRead
Когда это свойство, определяющее файловые разрешения, имеет значение TRUE, оно
разрешает чтение файла. AccessRead представляет собой один из флагов разрешений на
доступ, содержащихся в свойстве AccessFlags.
Тип данных
Логический (Boolean)
Значение по умолчанию TRUE
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип объекта IIS
Admin
/LM/MSFTPSVC
IIsFtpService
/LM/MSFTPSVC/N
IIsFtpServer
/LM/MSFTPSVC/N/ROOT
IIsFtpVirtualDir
/LM/MSFTPSVC/N/ROOT/ВиртуальныйFtpКаталог
IIsFtpVirtualDir
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
/LM/W3SVC/N/ROOT
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог
IIsWebDirectory
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог/ВебФайл IIsWebFile
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Примечание. Это свойство является битовой маской, используемой с идентификатором
MD_ACCESS_PERM.
Идентификатор свойства в метабазе
MD_ACCESS_PERM
Идентификатор битовой маски
MD_ACCESS_READ
Значение битовой маски
0x00000001 (по умолчанию для
MD_ACCESS_PERM)
Тип данных
DWORD_METADATA
Тип пользователя
IIS_MD_UT_FILE
См. также
AccessFlags
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
AccessScript
Когда это свойство, определяющее файловые разрешения, имеет значение TRUE, оно
разрешает выполнение ASP-файла ядром ASP. AccessScript представляет собой один из
флагов разрешений на доступ, содержащихся в свойстве AccessFlags. Свойство
AccessExecute разрешает выполнение всех исполняемых файлов, в том числе и ASPфайлов.
Тип данных
Логический (Boolean)
Значение по умолчанию FALSE
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип объекта IIS
Admin
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
/LM/W3SVC/N/ROOT
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог
IIsWebDirectory
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог/ВебФайл IIsWebFile
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Примечание. Это свойство является битовой маской, используемой с идентификатором
MD_ACCESS_PERM.
Идентификатор свойства в метабазе MD_ACCESS_PERM
Идентификатор битовой маски
MD_ACCESS_SCRIPT
Значение битовой маски
0x00000200
Тип данных
DWORD_METADATA
Тип пользователя
IIS_MD_UT_FILE
См. также
AccessFlags
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
AccessSource
Когда это свойство, определяющее файловые разрешения, имеет значение TRUE, оно
разрешает клиенту полный доступ к данному ресурсу. Полный доступ включает полную
поддержку расширений HTTP, предоставляемых стандартом Web Distributed Authoring
and Versioning (WebDAV). Дополнительные сведения о WebDAV содержатся на веб-узле
World Wide Web Consortium и в разделе документации Публикация WebDAV.
Тип данных
Логический (Boolean)
Значение по умолчанию FALSE
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип объекта IIS
Admin
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
/LM/W3SVC/N/ROOT
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог
IIsWebDirectory
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог/ВебФайл IIsWebFile
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Примечание. Это свойство является битовой маской, используемой с идентификатором
MD_ACCESS_PERM.
Идентификатор свойства в метабазе MD_ACCESS_PERM
Идентификатор битовой маски
MD_ACCESS_SOURCE
Значение битовой маски
0x00000010
Тип данных
DWORD_METADATA
Тип пользователя
IIS_MD_UT_FILE
См. также
AccessFlags
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
AccessSSL
Когда это свойство установлено в значение TRUE, для доступа к файлу требуется
обработка файловых разрешений Secure Sockets Layer (SSL) с использованием или без
использования клиентского сертификата. AccessSSL представляет собой один из флагов
SSL-разрешений на доступ к файлам, содержащихся в свойстве AccessSSLFlags.
Тип данных
Логический (Boolean)
Значение по умолчанию FALSE
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
/LM/W3SVC/N/ROOT
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог
IIsWebDirectory
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог/ВебФайл IIsWebFile
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Примечание. Это свойство является битовой маской, используемой с идентификатором
MD_SSL_ACCESS_PERM.
Идентификатор свойства в метабазе MD_SSL_ACCESS_PERM
Идентификатор битовой маски
MD_ACCESS_SSL
Значение битовой маски
0x00000008
Тип данных
DWORD_METADATA
Тип пользователя
IIS_MD_UT_FILE
См. также
AccessSSLFlags
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
AccessSSL128
Когда это свойство установлено в значение TRUE, для доступа к файлу требуется
обработка файловых разрешений Secure Sockets Layer (SSL) с минимальной длиной ключа
128 битов с использованием или без использования клиентского сертификата.
AccessSSL128 представляет собой один из флагов SSL-разрешений на доступ к файлам,
содержащихся в свойстве AccessSSLFlags.
Тип данных
Логический (Boolean)
Значение по умолчанию FALSE
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
/LM/W3SVC/N/ROOT
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог
IIsWebDirectory
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог/ВебФайл IIsWebFile
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Примечание. Это свойство является битовой маской, используемой с идентификатором
MD_SSL_ACCESS_PERM.
Идентификатор свойства в метабазе MD_SSL_ACCESS_PERM
Идентификатор битовой маски
MD_ACCESS_SSL128
Значение битовой маски
0x00000100
Тип данных
DWORD_METADATA
Тип пользователя
IIS_MD_UT_FILE
См. также
AccessSSLFlags
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
AccessSSLFlags
Это свойство содержит следующие флаги разрешений Secure Sockets Layer (SSL) на
доступ к файлам:
AccessSSL
AccessSSLNegotiateCert
AccessSSL128
AccessSSLRequireCert
AccessSSLMapCert
Тип данных
Длинное целое (Long)
Значение по умолчанию
0 (разрешения SSL не заданы)
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
/LM/W3SVC/N/ROOT
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог
IIsWebDirectory
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог/ВебФайл IIsWebFile
Информация об объекте IIS Admin Base
В следующих таблицах перечислены дополнительные сведения, которые требуются
только для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_SSL_ACCESS_PERM
Идентификатор битовой маски
MD_ACCESS_SSL
Значение битовой маски
0x00000008
Тип данных
DWORD_METADATA
Тип пользователя
IIS_MD_UT_FILE
Значение
Значение по умолчанию
0x00000000 (Протокол SSL не задействован)
Константа
Значение
Описание
MD_ACCESS_SSL
0x00000008
Требуются разрешения
SSL.
MD_ACCESS_NEGO_CERT
0x00000020
Клиентский сертификат
необязателен.
MD_ACCESS_REQUIRE_CERT
0x00000040
Требуется клиентский
сертификат
MD_ACCESS_MAP_CERT
0x00000080
Server сопоставляет
клиентские сертификаты
учетным записям
Windows.
MD_ACCESS_SSL128
0x00000100
Требуются разрешения
SSL со 128-разрядным
ключом.
См. также
AccessFlags
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
AccessSSLMapCert
Когда это свойство установлено в значение TRUE, то средства обработки файловых
разрешений Secure Sockets Layer (SSL) будут сопоставлять клиентский сертификат
учетной записи Windows. Чтобы сопоставление выполнялось, свойство
AccessSSLNegotiateCert также должно иметь значение TRUE. AccessSSLMapCert
представляет собой один из флагов SSL-разрешений на доступ к файлам, содержащихся в
свойстве AccessSSLFlags.
Тип данных
Логический (Boolean)
Значение по умолчанию FALSE
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
/LM/W3SVC/N/ROOT
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог
IIsWebDirectory
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог/ВебФайл IIsWebFile
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Примечание. Это свойство является битовой маской, используемой с идентификатором
MD_SSL_ACCESS_PERM.
Идентификатор свойства в метабазе MD_SSL_ACCESS_PERM
Идентификатор битовой маски
MD_ACCESS_MAP_CERT
Значение битовой маски
0x00000080
Тип данных
DWORD_METADATA
Тип пользователя
IIS_MD_UT_FILE
См. также
AccessSSLFlags
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
AccessSSLNegotiateCert
Когда это свойство установлено в значение TRUE, средства обработки файловых
разрешений Secure Sockets Layer (SSL) будут запрашивать у клиента клиентский
сертификат. Если свойство AccessSSLRequireCert имеет значение FALSE, клиент сможет
получить доступ и без сертификата. Учтите, что некоторые версии обозревателя Internet
Explorer разрывают соединение, если сервер запросил сертификат, которого нет, даже
если свойство AccessSSLRequireCert также имеет значение TRUE.
AccessSSLNegotiateCert представляет собой один из флагов SSL-разрешений на доступ к
файлам, содержащихся в свойстве AccessSSLFlags.
Тип данных
Логический (Boolean)
Значение по умолчанию FALSE
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
/LM/W3SVC/N/ROOT
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог
IIsWebDirectory
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог/ВебФайл IIsWebFile
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Примечание. Это свойство является битовой маской, используемой с идентификатором
MD_SSL_ACCESS_PERM.
Идентификатор свойства в метабазе MD_SSL_ACCESS_PERM
Идентификатор битовой маски
MD_ACCESS_NEGO_CERT
Значение битовой маски
0x00000020
Тип данных
DWORD_METADATA
Тип пользователя
IIS_MD_UT_FILE
См. также
AccessSSLFlags
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
AccessSSLRequireCert
Когда это свойство установлено в значение TRUE, средства обработки файловых
разрешений Secure Sockets Layer (SSL) будут запрашивать у клиента клиентский
сертификат. Если сертификат не будет предоставлен клиентом, соединение будет
разорвано. При использовании свойства AccessSSLRequireCert свойство
AccessSSLNegotiateCert должно быть также установлено в значение TRUE. Это свойство
представляет собой один из флагов SSL-разрешений на доступ к файлам, содержащихся в
свойстве AccessSSLFlags.
Тип данных
Логический (Boolean)
Значение по умолчанию FALSE
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
/LM/W3SVC/N/ROOT
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог
IIsWebDirectory
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог/ВебФайл IIsWebFile
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Примечание. Это свойство является битовой маской, используемой с идентификатором
MD_SSL_ACCESS_PERM.
Идентификатор свойства в метабазе MD_SSL_ACCESS_PERM
Идентификатор битовой маски
MD_ACCESS_REQUIRE_CERT
Значение битовой маски
0x00000040
Тип данных
DWORD_METADATA
Тип пользователя
IIS_MD_UT_FILE
См. также
AccessSSLFlags
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
AccessWrite
Когда это свойство, определяющее файловые разрешения, имеет значение TRUE, оно
разрешает запись в файл. AccessWrite представляет собой один из флагов разрешений на
доступ, содержащихся в свойстве AccessFlags.
Тип данных
Логический (Boolean)
Значение по умолчанию FALSE
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип объекта IIS
Admin
/LM/MSFTPSVC
IIsFtpService
/LM/MSFTPSVC/N
IIsFtpServer
/LM/MSFTPSVC/N/ROOT
IIsFtpVirtualDir
/LM/MSFTPSVC/N/ROOT/ВиртуальныйFtpКаталог
IIsFtpVirtualDir
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
/LM/W3SVC/N/ROOT
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог
IIsWebDirectory
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог/ВебФайл IIsWebFile
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Примечание. Это свойство является битовой маской, используемой с идентификатором
MD_ACCESS_PERM.
Идентификатор свойства в метабазе MD_ACCESS_PERM
Идентификатор битовой маски
MD_ACCESS_WRITE
Значение битовой маски
0x00000002
Тип данных
DWORD_METADATA
Тип пользователя
IIS_MD_UT_FILE
См. также
AccessFlags
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
AdminACL
Свойство AdminACL содержит таблицу управления доступом Microsoft Windows
(DACL), позволяющую осуществлять контроль доступа к любому поддереву метабазы.
Это свойство можно использовать для предоставления доступа на чтение, ограниченного
доступа на запись или неограниченного доступа на запись.
Тип данных
NTACL
Значение по умолчанию
Пустое (DACL отсутствует)
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/MSFTPSVC
IIsFtpService
/LM/MSFTPSVC/N
IIsFtpServer
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
/LM/W3SVC/N/ROOT
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог
IIsWebDirectory
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог/ВебФайл IIsWebFile
Информация об объекте IIS Admin Base
В следующих таблицах перечислены дополнительные сведения, которые требуются
только для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_ADMIN_ACL
Тип данных
BINARY_METADATA
Тип пользователя
IIS_MD_UT_FILE
Значение
Константа
Значение
Описание
MD_ACR_READ
0x00000001
Разрешает доступ на
чтение ко всем свойствам.
MD_ACR_WRITE
0x00000002
Разрешает доступ на запись
ко всем свойствам.
MD_ACR_ENUM_KEYS
0x00000008
Разрешает перечисление
разделов.
MD_ACR_RESTRICTED_WRITE
0x00000020
См. примечания после
таблицы.
MD_ACR_UNSECURE_PROPS_READ
0x00000080
Разрешает доступ на
чтение к свойствам, у
которых не установлен
атрибут
METADATA_SECURE.
MD_ACR_WRITE_DAC
0x00040000
Разрешает доступ на запись
к свойству AdminACL
создателю дескриптора
защиты.
Примечания
Константа MD_ACR_RESTRICTED_WRITE разрешает доступ на запись к следующим
свойствам:
AdminACL
AppIsolated
Path
AccessFlags
AnonymousUserName
AnonymousUserPass
MaxBandWidth
MaxBandWidthBlocked
SecureBindings
ServerBindings
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
AdminServer
Это свойство идентифицирует веб-сервер, администрируемый с помощью программы
удаленного администрирования. Это свойство доступно только для чтения.
Тип данных
Строка
Значение по умолчанию 1 (строковое)
Наследование
Не наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующем разделе метабазы:
Путь в метабазе Тип раздела
/LM/W3SVC/Info IIsWebInfo
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_ADMIN_INSTANCE
Тип пользователя
IIS_MD_UT_SERVER
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
AllowAnonymous
Это свойство определяет, должен ли FTP-сервер поддерживать анонимный доступ
пользователей.
Тип данных
Логический (Boolean)
Значение по умолчанию TRUE
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/MSFTPSVC
IIsFtpService
/LM/MSFTPSVC/N IIsFtpServer
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_ALLOW_ANONYMOUS
Тип данных
DWORD_METADATA
Тип пользователя
IIS_MD_UT_SERVER
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
AllowKeepAlive
Это свойство определяет, разрешена ли обработка открытых соединений.
Тип данных
Логический (Boolean)
Значение по умолчанию TRUE
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе Тип раздела
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_ALLOW_KEEP_ALIVES
Тип данных
DWORD_METADATA
Тип пользователя
IIS_MD_UT_FILE
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
AllowPathInfoForScriptMappings
Это свойство определяет, разрешено ли клиентам указывать сведения о пути в запросах,
сопоставленных сценариям.
Тип данных
Логический (Boolean)
Значение по умолчанию FALSE
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе Тип раздела
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в
метабазе
MD_ALLOW_PATH_INFO_FOR_SCRIPT_MAPPINGS
Тип данных
DWORD_METADATA
Тип пользователя
IIS_MD_UT_SERVER
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
AnonymousOnly
Это свойство определяет, должны ли служба или сервер разрешать доступ только для
анонимных пользователей FTP. Если данное свойство имеет значение TRUE, то вход на
FTP-сервер будет разрешен только анонимным пользователям. Если же значением
данного свойства является FALSE, вход будет разрешен как по действительному имени
пользователя, так и анонимно.
Примечание. Если свойство AnonymousOnly имеет значение TRUE, а свойство
AllowAnonymous установлено в значение FALSE, никто из пользователей не сможет
войти на FTP-сервер.
Тип данных
Логический (Boolean)
Значение по умолчанию FALSE
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/MSFTPSVC
IIsFtpService
/LM/MSFTPSVC/N IIsFtpServer
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_ANONYMOUS_ONLY
Тип данных
DWORD_METADATA
Тип пользователя
IIS_MD_UT_SERVER
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
AnonymousPasswordSync
Это свойство определяет, должен ли IIS проверять пароли анонимных пользователей,
обращающихся к ресурсам. Чтобы анонимный доступ работал правильно, при
установленном в значение FALSE свойстве AnonymousPasswordSync администратор
должен задать пароль в свойстве AnonymousUserPass. Если значением свойства
AnonymousPasswordSync является TRUE, то пароль для анонимного входа не требуется.
Примечание. Если свойство AnonymousPasswordSync имеет значение TRUE, а
свойство AllowAnonymous установлено в значение FALSE, никто из пользователей не
сможет войти на FTP-сервер.
Тип данных
Логический (Boolean)
Значение по умолчанию TRUE
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/MSFTPSVC
IIsFtpService
/LM/MSFTPSVC/N
IIsFtpServer
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
/LM/W3SVC/N/ROOT
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог
IIsWebDirectory
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог/ВебФайл IIsWebFile
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе
MD_ANONYMOUS_USE_SUBAUTH
Тип данных
DWORD_METADATA
Тип пользователя
IIS_MD_UT_FILE
См. также
AnonymousUserName, AnonymousUserPass
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
AnonymousUserName
Сервер связывает с каждым выполняемым на нем действием имя пользователя и пароль. В
данном свойстве задается имя зарегистрированного локального пользователя, которое
будет использоваться для анонимных пользователей. См. также AnonymousUserPass и
AnonymousPasswordSync.
Тип данных
Строка
Значение по умолчанию
I_USR_ИмяЛокальногоКомпьютера
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/MSFTPSVC
IIsFtpService
/LM/MSFTPSVC/N
IIsFtpServer
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
/LM/W3SVC/N/ROOT
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог
IIsWebDirectory
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог/ВебФайл IIsWebFile
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_ANONYMOUS_USER_NAME
Тип пользователя
IIS_MD_UT_FILE
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
AnonymousUserPass
Сервер связывает с каждым выполняемым на нем действием имя пользователя и пароль. В
данном свойстве задается пароль зарегистрированного локального пользователя, который
будет использоваться для анонимных пользователей. См. также AnonymousUserName и
AnonymousPasswordSync.
Тип данных
Строка (String)
Значение по умолчанию Произвольная строка
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/MSFTPSVC
IIsFtpService
/LM/MSFTPSVC/N
IIsFtpServer
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
/LM/W3SVC/N/ROOT
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог
IIsWebDirectory
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог/ВебФайл IIsWebFile
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_ANONYMOUS_PWD
Тип пользователя
IIS_MD_UT_FILE
См. также
AnonymousUserPass, AnonymousPasswordSync
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
AppAllowClientDebug
Это свойство метабазы разрешает или запрещает отладку ASP на стороне клиента. Данное
свойство не зависит от свойства AppAllowDebugging, которое служит для отладки на
стороне сервера.
Тип данных
Логический (Boolean)
Значение по умолчанию FALSE
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
/LM/W3SVC/N/ROOT
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог IIsWebDirectory
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе
MD_ASP_ENABLECLIENTDEBUG
Тип данных
DWORD_METADATA
Тип пользователя
ASP_MD_UT_APP
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
AppAllowDebugging
Этот флаг разрешает или запрещает отладку ASP на сервере. Данное свойство не зависит
от свойства AppAllowClientDebug, которое служит для отладки на стороне клиента.
Примечание. Если отладка на стороне сервера включена, потоки приложений IIS будут
упорядочены: в каждый момент времени выполнение будет разрешено только одному
потоку каждого приложения. На сильно загруженных узлах это может привести к
понижению быстродействия сервера.
Тип данных
Логический (Boolean)
Значение по умолчанию FALSE
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
/LM/W3SVC/N/ROOT
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог IIsWebDirectory
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе
MD_ASP_ENABLESERVERDEBUG
Тип данных
DWORD_METADATA
Тип пользователя
IIS_MD_UT_WAM
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
AppFriendlyName
В этом свойстве задается дружественное пользователю имя пакета или приложения.
Тип данных
Строка (String)
Значение по умолчанию Пустое
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
/LM/W3SVC/N/ROOT
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог IIsWebDirectory
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_APP_FRIENDLY_NAME
Тип пользователя
IIS_MD_UT_WAM
См. также
AppPackageName
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
AppIsolated
Это свойство показывает, как будет запущено приложение: внутри процесса, вне процесса
или в групповом процессе. Значение 0 указывает на запуск приложения внутри процесса,
значение 1 – вне процесса, значение 2 – в групповом процессе. Для задания пространства
процессов приложения используйте методы управления приложениями объектов
IIsWebVirtualDir и IIsWebDirectory. Дополнительные сведения о группировке процессов
см. в разделе Средства повышения быстродействия IIS.
Примечание. Это свойство следует считать доступным только для чтения.
Тип данных
Длинное целое (Long)
Значение по умолчанию 0 (диапазон 0-2)
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
/LM/W3SVC/N/ROOT
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог IIsWebDirectory
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_APP_ISOLATED
Тип данных
DWORD_METADATA
Тип пользователя
IIS_MD_UT_WAM
См. также
InProcessIsapiApps
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
AppOopRecoverLimit
Это свойство метабазы задает максимально допустимое число перезапусков внешнего
приложения после сбоев. Сервер не будет обслуживать запросы от компонентов,
превысивших этот предел. Это свойство не применимо ко внутренним приложениям или
расширениям.
Примечание. Для вступления в силу изменений этого свойства веб-служба должна быть
перезапущена.
Тип данных
Длинное целое (Long)
Значение по умолчанию -1
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC/N
IIsWebServer
/LM/W3SVC/N/ROOT
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог IIsWebDirectory
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе
MD_APP_OOP_RECOVER_LIMIT
Тип данных
DWORD_METADATA
Тип пользователя
ASP_MD_UT_APP
См. также
InProcessIsapiApps
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
AppPackageID
Это свойство предоставляет идентификатор приложения COM+ для транзакции. Это
свойство доступно только для чтения. Этот идентификатор используется во всех
транзакциях, которыми управляют службы компонентов.
Тип данных
Строка (String)
Значение по умолчанию Пустое
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
/LM/W3SVC/N/ROOT
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог IIsWebDirectory
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_APP_PACKAGE_ID
Тип пользователя
IIS_MD_UT_WAM
См. также
AppPackageName
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
AppPackageName
Это свойство предоставляет имя приложения COM+ для транзакции. Это свойство следует
рассматривать как доступное только для чтения.
Тип данных
Строка (String)
Значение по умолчанию Пустая строка
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
/LM/W3SVC/N/ROOT
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог IIsWebDirectory
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_APP_PACKAGE_NAME
Тип пользователя
IIS_MD_UT_WAM
См. также
AppPackageID, AppFriendlyName
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
AppRoot
Это свойство предоставляет URL-адрес корневого каталога (ROOT) пространства имен
приложения. Это свойство следует рассматривать как доступное только для чтения. Чтобы
сделать узел корнем приложения, используйте методы управления приложениями
объектов IIsWebVirtualDir и IIsWebDirectory.
Тип данных
Строка (String)
Значение по умолчанию Пустое
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
/LM/W3SVC/N/ROOT
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог IIsWebDirectory
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_APP_ROOT
Тип пользователя
IIS_MD_UT_FILE
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
AppWamClsID
Это свойство содержит идентификатор класса интерфейса управления веб-приложениями
(WAM) данного приложения. Это свойство следует рассматривать как доступное только
для чтения.
Тип данных
Строка (String)
Значение по умолчанию Пустое
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
/LM/W3SVC/N/ROOT
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог IIsWebDirectory
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_APP_WAM_CLSID
Тип пользователя
IIS_MD_UT_WAM
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
AspAllowOutOfProcComponents
В IIS 4.0 данное свойство определяет, разрешается ли сценарию ASP вызывать внешние
компоненты, представляющие из себя исполняемые файлы, запускаемые из приложения.
В IIS 5.0 это свойство считается устаревшим, а его значение не учитывается; однако
сценарии, использующие это свойство, будут продолжать работать нормально.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
AspAllowSessionState
Это свойство включает или отключает сохранение состояния сеанса для ASP-приложения.
Если это свойство имеет значение TRUE, то сервер будет создавать новый объект Session
для каждого подключения. Будет разрешено хранение данных на уровне сеанса и доступ к
состоянию сеанса; будут возникать события Session_OnStart и Session_OnEnd; клиенту
будет отправлен модуль настройки клиента ASPSessionID. Если значением этого свойства
является FALSE, то доступ к состоянию сеанса и хранение данных на уровне сеанса будут
запрещены, события обрабатываться не будут, а клиенту не будет отправлен модуль
настройки клиента.
Действие этого свойства метабазы можно отменить директивой
@ENABLESESSIONSTATE.
Тип данных
Логический (Boolean)
Значение по умолчанию TRUE
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
/LM/W3SVC/N/ROOT
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог IIsWebDirectory
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе
MD_ASP_ALLOWSESSIONSTATE
Тип пользователя
ASP_MD_UT_APP
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
AspBufferingOn
Это свойство включает или отключает буферизацию вывода ASP-приложения. Если
свойство имеет значение TRUE (по умолчанию), то весь вывод приложения сохраняется в
буфере, а потом содержимое буфера отправляется клиентскому обозревателю. Если это
свойство установлено в значение FALSE, то вывод сценариев ASP будет отправляться
клиентским обозревателям напрямую, по мере его поступления.
При включенной буферизации приложение ASP должно будет полностью обработать
сценарий ASP, и лишь затем клиентский обозреватель сможет получить выводимую им
информацию. По этой причине приложения с включенной буферизацией могут казаться
пользователям более медленными чем те приложения, для которых буферизация
отключена, хотя выполнение буферизуемого сценария занимает меньше времени.
Поэтому если буферизация включена, следует рассмотреть целесообразность
использования метода Response.Flush для передачи пользователю отдельных порций
информации, получаемой в процессе обработки сценария.
Примечание. Если буферизация выключена, то любые методы, изменяющие
существующие заголовки HTTP или порождающие новые заголовки, должны быть
выполнены до начала отправки содержимого клиентскому обозревателю. При включенной
буферизации данное ограничение отменяется.
Важно! Если IIS 5.1 был установлен путем обновления более ранней версии IIS, то по
умолчанию данное свойство имеет значение FALSE, а не TRUE.
Тип данных
Логический (Boolean)
Значение по умолчанию TRUE
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
/LM/W3SVC/N/ROOT
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог IIsWebDirectory
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_ASP_BUFFERINGON
Тип данных
DWORD_METADATA
Тип пользователя
ASP_MD_UT_APP
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
AspCodepage
Это свойство задает кодовую страницу, используемую приложением по умолчанию.
Действие этого свойства можно отменить директивой @CODEPAGE на уровне страницы
для постоянных строк или методами Response.CodePage, Session.CodePage для
динамических данных. Если для какого-либо узла это свойство равно 0, выбирается
используемая по умолчанию кодовая страница (CP_ACP).
Тип данных
Длинное целое (Long)
Значение по умолчанию 0
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
/LM/W3SVC/N/ROOT
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог IIsWebDirectory
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_ASP_CODEPAGE
Тип пользователя
ASP_MD_UT_APP
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
AspEnableApplicationRestart
Это свойство разрешает или запрещает автоматический перезапуск приложения ASP.
Существуют два способа перезапуска приложения. IIS 4.0 может вызвать файл Global.asa
приложения; это приведет к немедленному перезапуску приложения, если свойство
AspEnableApplicationRestart имеет значение TRUE.
Важно! При изменении значения данного свойства с FALSE на TRUE приложение будет
автоматически и немедленно перезапущено.
IIS 5.1, кроме того, предоставляет метод ADSI AspAppRestart, служащий для перезапуска
приложения.
Тип данных
Логический (Boolean)
Значение по умолчанию TRUE
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
/LM/W3SVC/N/ROOT
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог IIsWebDirectory
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе
MD_ASP_ENABLEAPPLICATIONRESTART
Тип данных
DWORD_METADATA
Тип пользователя
ASP_MD_UT_APP
См. также
AspAppRestart
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
AspEnableAspHtmlFallback
Это свойство зарезервировано для будущих нужд.
Тип данных
Логический (Boolean)
Значение по умолчанию FALSE
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
/LM/W3SVC/N/ROOT
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог IIsWebDirectory
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе
MD_ASP_ENABLEASPHTMLFALLBACK
Тип данных
DWORD_METADATA
Тип пользователя
ASP_MD_UT_APP
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
AspEnableChunkedEncoding
Это свойство метабазы определяет, нужно ли использовать шифрование данных частями
для HTTP 1.1 для веб-службы.
Примечание. Даже если шифрование данных частями включено, оно будет
использоваться только с обозревателями, поддерживающими и использующими HTTP 1.1.
Если свойство задано на уровне веб-службы, оно распространяется на все узлы
внутренних и сгруппированных внешних приложений, на всех уровнях. В таком случае
параметры метабазы для внутренних и сгруппированных внешних приложений на уровне
веб-сервера или ниже будут игнорироваться. Однако для узлов, изолированных в качестве
внешних приложений, параметры, заданные на уровне веб-сервера или ниже, сохранят
свое действие.
Тип данных
Логический (Boolean)
Значение по умолчанию TRUE
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
/LM/W3SVC/N/ROOT
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог IIsWebDirectory
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе
MD_ASP_ENABLECHUNKEDENCODING
Тип данных
DWORD_METADATA
Тип пользователя
ASP_MD_UT_APP
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
AspEnableParentPaths
Это свойство определяет, должна ли ASP-страница разрешать использование путей,
задаваемых относительно текущего каталога (с помощью символов ..\). Когда это свойство
имеет значение TRUE, оно привносит потенциальный риск нарушения защиты, так как с
помощью такого пути можно будет получить доступ к важным или конфиденциальным
данным, находящимся вне корневого каталога приложения.
Тип данных
Логический (Boolean)
Значение по умолчанию TRUE
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
/LM/W3SVC/N/ROOT
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог IIsWebDirectory
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе
MD_ASP_ENABLEPARENTPATHS
Тип данных
DWORD_METADATA
Тип пользователя
ASP_MD_UT_APP
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
AspEnableTypelibCache
Это свойство включает или отключает кэширование библиотек типов на сервере.
Если свойство задано на уровне веб-службы, оно распространяется на все узлы
внутренних и сгруппированных внешних приложений, на всех уровнях. В таком случае
параметры метабазы для внутренних и сгруппированных внешних приложений на уровне
веб-сервера или ниже будут игнорироваться. Однако для узлов, изолированных в качестве
внешних приложений, параметры, заданные на уровне веб-сервера или ниже, сохранят
свое действие.
Тип данных
Логический (Boolean)
Значение по умолчанию TRUE
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
/LM/W3SVC/N/ROOT
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог IIsWebDirectory
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе
MD_ASP_ENABLETYPELIBCACHE
Тип данных
DWORD_METADATA
Тип пользователя
ASP_MD_UT_APP
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
AspErrorsToNTLog
Это свойство включает или отключает регистрацию ошибок сценариев IIS в журнал
событий Windows.
Если свойство задано на уровне IIsWebService, оно распространяется на все узлы
внутренних приложений, на всех уровнях. Параметры метабазы, заданные на уровне
IIsWebServer или ниже, будут игнорироваться для внутренних приложений, если узел
IIsWebServer не будет изолирован в качестве внешнего приложения.
Если свойство AspLogErrorRequests установлено в значение TRUE, а свойство
AspErrorsToNTLog имеет значение FALSE, то ошибки ASP будут заноситься в журнал
IIS. Если эти ошибки существенные, либо если произошел сбой при занесении сообщения
в журнал IIS, то каждая ошибка будет также заноситься в журнал событий Windows.
Если свойство AspLogErrorRequests имеет значение FALSE, то эти ошибки будут
отправляться только в журнал IIS, но не в журнал событий Windows.
Если значением свойства AspLogErrorRequests является TRUE, и свойство
AspErrorsToNTLog также имеет значение TRUE, то все ошибки ASP будут заноситься
как в журнал событий Windows, так и в журнал IIS.
Примечание. Чтобы полностью запретить занесение ошибок ASP в журнал IIS, нужно
вообще отключить средства регистрации. См. свойства DontLog и LogType.
Тип данных
Логический (Boolean)
Значение по умолчанию FALSE
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
/LM/W3SVC/N/ROOT
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог IIsWebDirectory
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_ASP_ERRORSTONTLOG
Тип данных
DWORD_METADATA
Тип пользователя
ASP_MD_UT_APP
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
AspExceptionCatchEnable
Это свойство включает или отключает перехват исключений, вызываемых компонентами,
страницами ASP. Если свойство имеет значение FALSE (отключено), то отладчик
сценариев (Microsoft) не будет перехватывать исключения, вызываемые отлаживаемым
компонентом.
Тип данных
Логический (Boolean)
Значение по умолчанию TRUE
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
/LM/W3SVC/N/ROOT
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог IIsWebDirectory
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе
MD_ASP_EXCEPTIONCATCHENABLE
Тип данных
DWORD_METADATA
Тип пользователя
IIS_MD_UT_WAM
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
AspLCID
Это свойство задает кодовую страницу, используемую приложением по умолчанию.
Действие этого свойства можно отменить директивой @LCID на уровне страницы для
постоянных строк или методами Response.LCID, Session.LCID для динамических
данных. Если для какого-либо узла это свойство равно 0, выбирается используемый по
умолчанию язык (LOCALE_SYSTEM_DEFAULT). При задании свойства AspLCID язык
меняется как для ASP-приложения, так и для обработчика сценариев. Используя функцию
VBScript setLocale(), можно сменить язык только для обработчика сценариев.
Тип данных
Длинное целое (Long)
Значение по умолчанию 0
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
/LM/W3SVC/N/ROOT
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог IIsWebDirectory
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_ASP_LCID
Тип пользователя
ASP_MD_UT_APP
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
AspLogErrorRequests
Это свойство указывает, выполняется ли веб-сервером запись неудачных клиентских
запросов в журнал событий Windows. Если свойство AspLogErrorRequests имеет
значение TRUE, то будет регистрироваться стандартный набор ошибок ASP. Список
ошибок см. в таблице Список ошибок ASP.
Если свойство AspLogErrorRequests имеет значение TRUE, а свойство
AspErrorsToNTLog — значение FALSE, то ошибки ASP будут отправляться в журнал
IIS. Если эти ошибки существенные, либо если произошел сбой при занесении сообщения
в журнал IIS, то каждая ошибка будет также заноситься в журнал событий Windows.
Если свойство AspLogErrorRequests имеет значение FALSE, то эти ошибки будут
отправляться только в журнал IIS, но не в журнал событий Windows.
Если значением свойства AspLogErrorRequests является TRUE, и свойство
AspErrorsToNTLog также имеет значение TRUE, то все ошибки ASP будут заноситься
как в журнал событий Windows, так и в журнал IIS.
Примечание. Чтобы полностью запретить занесение ошибок ASP в журнал IIS, нужно
вообще отключить средства регистрации. См. свойства DontLog и LogType.
Тип данных
Логический (Boolean)
Значение по умолчанию TRUE
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
/LM/W3SVC/N/ROOT
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог IIsWebDirectory
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе
MD_ASP_LOGERRORREQUESTS
Тип данных
DWORD_METADATA
Тип пользователя
IIS_MD_UT_WAM
Список ошибок ASP
В этой таблице перечислены ошибки ASP, которые заносятся в журнал событий Windows,
если свойство AspLogErrorRequests имеет значение TRUE.
Код ошибки ASP
Ошибка ASP
Описание
ASP 0100
Недостаточно памяти
Не удается выделить
требуемую память.
ASP 0101
Непредвиденная ошибка
Функция вернула (имя
исключения).
ASP 0102
Ожидается ввод строки
Функция ожидает строку.
ASP 0103
Ожидается ввод числа
Функция ожидает число.
ASP 0104
Недопустимая операция
Недопустимая операция.
ASP 0105
Индекс выходит за
допустимые пределы
Индекс массива выходит за
пределы допустимого
диапазона.
ASP 0106
Несоответствие типа
Обнаружен
необрабатываемый тип
данных.
ASP 0107
Переполнение стека
Обрабатываемые данные
превышают допустимый
предел.
ASP 0115
Непредвиденная ошибка
Произошла перехватываемая
ошибка (имя исключения) во
внешнем объекте. The script
cannot continue running.
ASP 0190
Непредвиденная ошибка
Перехватываемая ошибка
при освобождении внешнего
объекта.
ASP 0191
Непредвиденная ошибка
Перехватываемая ошибка в
методе OnStartPage
внешнего объекта.
ASP 0192
Непредвиденная ошибка
Перехватываемая ошибка в
методе OnEndPage внешнего
объекта.
ASP 0193
Сбой OnStartPage
Ошибка в методе
OnStartPage внешнего
объекта.
ASP 0194
Сбой OnEndPage
Ошибка в методе
OnEndPage внешнего
объекта.
ASP 0240
Исключение обработчика
сценариев
Исключение ScriptEngine
(имя исключения) в (имя
объекта) от (имя_объекта).
ASP 0241
Исключение CreateObject
CreateObject (имя объекта)
вызвал исключение (имя
исключения).
ASP 0242
Исключение в интерфейсе
Запросы методов
при запросе OnStartPage
OnStartPage или
OnEndPage для объекта (имя
объекта) вызвали
исключение (имя
исключения).
См. также
AspErrorsToNTLog
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
AspProcessorThreadMax
Это свойство метабазы задает максимальное число рабочих потоков, создаваемых IIS на
одном процессоре.
Примечание. Этот параметр может серьезно повлиять на масштабируемость ваших вебприложений и на общую производительность сервера. Поскольку он определяет
максимальное количество выполняемых одновременно ASP-запросов, не следует
изменять его значение, если только ASP-приложения не содержат долго выполняемые
запросы ко внешним компонентам. В этом случае можно увеличить значение
AspProcessorThreadMax. Это позволит серверу создавать больше потоков для
одновременной обработки большего количества запросов.
Если значение этого свойства метабазы изменяется, необходимо остановить и
перезапустить экземпляр веб-сервера, чтобы изменение вступило в силу. Если свойство
задано на уровне веб-службы, оно распространяется на все узлы внутренних и
сгруппированных внешних приложений, на всех уровнях. В таком случае параметры
метабазы для внутренних и сгруппированных внешних приложений на уровне веб-сервера
или ниже будут игнорироваться. Однако для узлов, изолированных в качестве внешних
приложений, параметры, заданные на уровне веб-сервера или ниже, сохранят свое
действие.
Тип данных
Длинное целое (Long)
Значение по умолчанию 25
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
/LM/W3SVC/N/ROOT
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог IIsWebDirectory
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе
MD_ASP_PROCESSORTHREADMAX
Тип данных
DWORD_METADATA
Тип пользователя
ASP_MD_UT_APP
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
AspQueueConnectionTestTime
IIS помещает все ASP-запросы в очередь. Если запрос находится в очереди дольше
указанного в свойстве AspQueueConnectionTestTime числа секунд, то перед
выполнением запроса ASP проверит, подключен ли еще клиент к серверу. Если клиент
отключился, запрос не обрабатывается и удаляется из очереди.
Примечание. Пользователи обычно не слишком долго ждут, пока обработается ASPстраница. Хотя максимальное время ожидания меняется от пользователя к пользователю,
обычно рекомендуемый максимум составляет примерно 10 секунд. Свойство
AspQueueConnectionTestTime служит для того, чтобы IIS не тратил время на обработку
запроса, от которого отказался пользователь.
Учтите, что это свойство метабазы может обеспечивать более эффективную обработку
ASP только до того момента, когда ASP приступит к обработке сценария. Во время
выполнения сценария приложение может продолжать выполнять проверку клиентских
подключений с помощью метода ASP Iresponse::IsClientConnected.
Тип данных
Длинное целое (Long)
Значение по умолчанию
3 секунды (допустимый диапазон 00XFFFFFFFF)
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
/LM/W3SVC/N/ROOT
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог IIsWebDirectory
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе
MD_ASP_QUEUECONNECTIONTESTTIME
Тип данных
DWORD_METADATA
Тип пользователя
ASP_MD_UT_APP
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
AspQueueTimeout
Данное свойство задает время в секундах, в течение которого запрос ASP-сценария будет
ожидать выполнения, находясь в очереди. Когда запросы выбираются из очереди для
выполнения, они проверяются на предмет истечения срока их действия (то есть, время
нахождения в очереди сравнивается со значением этого параметра). Устаревшие запросы
отклоняются, и выдается сообщение о том, что сервер слишком занят.
Тип данных
Длинное целое (Long)
Значение по умолчанию
-1 (ожидание отсутствует)
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
/LM/W3SVC/N/ROOT
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог IIsWebDirectory
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_ASP_QUEUETIMEOUT
Тип данных
DWORD_METADATA
Тип пользователя
ASP_MD_UT_APP
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
AspRequestQueueMax
Это свойство задает максимальное число ASP-запросов, которые могут находиться в
очереди. Обозреватели клиентов, пытающиеся запросить ASP-файлы, когда очередь
заполнена, получат сообщение об ошибке HTTP 500 (сервер перегружен).
Если свойство задано на уровне веб-службы, оно распространяется на все узлы
внутренних и сгруппированных внешних приложений, на всех уровнях. В таком случае
параметры метабазы для внутренних и сгруппированных внешних приложений на уровне
веб-сервера или ниже будут игнорироваться. Однако для узлов, изолированных в качестве
внешних приложений, параметры, заданные на уровне веб-сервера или ниже, сохранят
свое действие.
Тип данных
Длинное целое (Long)
Значение по умолчанию
3000 (допустимый диапазон 0-0xFFFFFFFF)
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
/LM/W3SVC/N/ROOT
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог IIsWebDirectory
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_ASP_REQUESTQUEUEMAX
Тип данных
DWORD_METADATA
Тип пользователя
ASP_MD_UT_APP
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
AspScriptEngineCacheMax
Это свойство задает максимальное число обработчиков сценариев, кэшируемых в памяти
ASP-страницами.
Тип данных
Длинное целое (Long)
Значение по умолчанию 125
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
/LM/W3SVC/N/ROOT
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог IIsWebDirectory
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе
MD_ASP_SCRIPTENGINECACHEMAX
Тип данных
DWORD_METADATA
Тип пользователя
IIS_MD_UT_WAM
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
AspScriptErrorMessage
Это свойство задает сообщение об ошибке, отправляемое обозревателю в случае, когда
отладочные сведения об ошибке не передаются клиенту (то есть, когда свойство
AspScriptErrorSentToBrowser имеет значение FALSE).
Тип данных
Строка (String)
Значение по умолчанию
Ошибка на сервере при обработке адреса
URL. Обратитесь к системному
администратору.
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
/LM/W3SVC/N/ROOT
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог IIsWebDirectory
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе
MD_ASP_SCRIPTERRORMESSAGE
Тип пользователя
IIS_MD_UT_WAM
См. также
AspScriptErrorSentToBrowser
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
AspScriptErrorSentToBrowser
Это свойство определяет, будет ли веб-сервер отправлять клиентскому обозревателю
отладочную информацию об ошибке (имя файла, ошибка, номер строки, описание)
дополнительно к записи их в журнал событий Windows. Если это свойство имеет значение
FALSE, то обозревателю отправляется сообщение, заданное в свойстве
AspScriptErrorMessage.
Тип данных
Логический (Boolean)
Значение по умолчанию TRUE
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
/LM/W3SVC/N/ROOT
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог IIsWebDirectory
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе
MD_ASP_SCRIPTERRORSENTTOBROWSER
Тип данных
DWORD_METADATA
Тип пользователя
IIS_MD_UT_WAM
См. также
AspScriptErrorMessage
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
AspScriptFileCacheSize
Это свойство определяет число помещаемых в кэш заранее откомпилированных файлов
сценариев. Значение 0 отменяет кэширование файлов сценариев. Когда это свойство имеет
значение -1, все запрашиваемые файлы сценариев будут кэшироваться. Это свойство
может использоваться для настройки производительности в зависимости от объема
доступной памяти и интенсивности трафика сценариев.
Тип данных
Длинное целое (Long)
Значение по умолчанию 250
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
/LM/W3SVC/N/ROOT
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог IIsWebDirectory
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе
MD_ASP_SCRIPTFILECACHESIZE
Тип пользователя
IIS_MD_UT_WAM
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
AspScriptLanguage
Это свойство задает используемый по умолчанию язык сценариев для всех ASPприложений на данном веб-сервере. Этот язык по умолчанию будет использоваться в
ограничителях сценария (<% и %>), пока он явно не будет переопределен следующей
директивой.
<%
@ LANGUAGE = ЯзыкСценариев
%>
Тип данных
Строка (String)
Значение по умолчанию VBScript
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
/LM/W3SVC/N/ROOT
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог IIsWebDirectory
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_ASP_SCRIPTLANGUAGE
Тип пользователя
ASP_MD_UT_APP
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
AspScriptTimeout
Это свойство задает период времени по умолчанию (в секундах), в течение которого ASPстраницы разрешают выполнение сценария; по прошествии этого периода выполнение
сценария прерывается, а в журнал событий Windows заносится событие. Сценарий может
отменить действие этого свойства, задав свой интервал с помощью свойства
Server.ScriptTimeout. Свойство ScriptTimeout позволяет приложению ASP установить
большее значение периода ожидания сценария. Например, с помощью этого свойства
можно увеличить период ожидания после того, как пользователь установил
действительный сеанс, введя свои данные или заказав продукт.
Примечание. Минимальное значение этого свойства - одна секунда.
Тип данных
Длинное целое (Long)
Значение по умолчанию 90 секунд
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Metabase Path
Key Type
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
/LM/W3SVC/N/ROOT
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог IIsWebDirectory
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_ASP_SCRIPTTIMEOUT
Тип пользователя
ASP_MD_UT_APP
См. также
ScriptTimeout, AspSessionTimeout
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
AspSessionMax
Это свойство задает максимальное число одновременных сеансов, поддерживаемых IIS.
Если клиент попытается установить новый сеанс с IIS, когда этот предел уже достигнут,
он получит сообщение об ошибке HTTP 500 (сервер перегружен).
Примечание. Для поддержки каждого ASP-сеанса требуется некоторый объем памяти.
Хотя суммарный объем памяти, используемый для поддержки сеансов, можно ограничить
с помощью свойства AspSessionMax, обычно лучше ограничивать время жизни объектов
сеанса в IIS, воспользовавшись свойством AspSessionTimeout; по достижении заданного в
нем предела сеанс клиентского обозревателя будет прерван.
Если поступающий запрос не содержит модуля настройки ASP-сеанса либо если модуль
настройки сеанса не соответствует существующему сеансу, этот запрос считается
запросом на новый сеанс.
Если свойство задано на уровне веб-службы, оно распространяется на все узлы
внутренних и сгруппированных внешних приложений, на всех уровнях. В таком случае
параметры метабазы для внутренних и сгруппированных внешних приложений на уровне
веб-сервера или ниже будут игнорироваться. Однако для узлов, изолированных в качестве
внешних приложений, параметры, заданные на уровне веб-сервера или ниже, сохранят
свое действие.
Тип данных
Длинное целое (Long)
Значение по умолчанию
-1 (максимально допустимое)
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
/LM/W3SVC/N/ROOT
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог IIsWebDirectory
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_ASP_SESSIONMAX
Тип пользователя
ASP_MD_UT_APP
См. также
AspSessionTimeout
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
AspSessionTimeout
Это свойство задает период времени по умолчанию (в минутах), в течение которого будет
поддерживаться объект Session после выполнения последнего запроса, связанного с этим
объектом. Значение этого параметра можно переопределить в сценарии с помощью
метода Session.Timeout.
Примечание. Свойство AspSessionTimeout можно использовать для настройки ASPприложений. Так как объекты Session используют некоторый объем памяти, ограничение
времени жизни отдельных объектов Session с помощью этого свойства сделает
приложение более масштабируемым.
Если свойство задано на уровне веб-службы, оно распространяется на все узлы
внутренних и сгруппированных внешних приложений, на всех уровнях. В таком случае
параметры метабазы для внутренних и сгруппированных внешних приложений на уровне
веб-сервера или ниже будут игнорироваться. Однако для узлов, изолированных в качестве
внешних приложений, параметры, заданные на уровне веб-сервера или ниже, сохранят
свое действие.
Тип данных
Длинное целое (Long)
Значение по умолчанию 20 минут
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
/LM/W3SVC/N/ROOT
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог IIsWebDirectory
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_ASP_SESSIONTIMEOUT
Тип данных
DWORD_METADATA
Тип пользователя
ASP_MD_UT_APP
См. также
Timeout, AspScriptTimeout
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
AspThreadGateEnabled
Это свойство включает или отключает распределение потоков IIS.
Важно! IIS выполняет распределение потоков для того, чтобы динамически управлять
числом одновременно выполняющихся потоков, в соответствии с различными степенями
загруженности процессора. Значения, которые по умолчанию имеют свойства
распределения потоков, должны подходить для большинства конфигураций серверов и
степеней интенсивности трафика. Изменение этих свойств может привести к
существенному снижению производительности.
Если свойство задано на уровне веб-службы, оно распространяется на все узлы
внутренних и сгруппированных внешних приложений, на всех уровнях. В таком случае
параметры метабазы для внутренних и сгруппированных внешних приложений на уровне
веб-сервера или ниже будут игнорироваться. Однако для узлов, изолированных в качестве
внешних приложений, параметры, заданные на уровне веб-сервера или ниже, сохранят
свое действие.
Тип данных
DWORD (обрабатывается как логический)
Значение по умолчанию
0
Наследование
Наследуемое
(FALSE)
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
/LM/W3SVC/N/ROOT
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог IIsWebDirectory
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе
MD_ASP_THREADGATEENABLED
Тип данных
DWORD_METADATA
Тип пользователя
ASP_MD_UT_APP
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
AspThreadGateLoadHigh
Это свойство задает минимальное значение загруженности процессора (в процентах от
полной), при котором процессор уже считается сильно загруженным. Эту информацию IIS
будет использовать для распределения потоков с целью удержать степень загруженности
процессора в рамках, заданных свойствами AspThreadGateLoadLow и
AspThreadGateLoadHigh.
Важно! IIS выполняет распределение потоков для того, чтобы динамически управлять
числом одновременно выполняющихся потоков, в соответствии с различными степенями
загруженности процессора. Значения, которые по умолчанию имеют свойства
распределения потоков, должны подходить для большинства конфигураций серверов и
степеней интенсивности трафика. Изменение этих свойств может привести к
существенному снижению производительности.
Если свойство задано на уровне веб-службы, оно распространяется на все узлы
внутренних и сгруппированных внешних приложений, на всех уровнях. В таком случае
параметры метабазы для внутренних и сгруппированных внешних приложений на уровне
веб-сервера или ниже будут игнорироваться. Однако для узлов, изолированных в качестве
внешних приложений, параметры, заданные на уровне веб-сервера или ниже, сохранят
свое действие.
Тип данных
Длинное целое (Long)
Значение по умолчанию 80 процентов
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
/LM/W3SVC/N/ROOT
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог IIsWebDirectory
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе
MD_ASP_THREADGATELOADHIGH
Тип данных
DWORD_METADATA
Тип пользователя
ASP_MD_UT_APP
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
AspThreadGateLoadLow
Это свойство задает максимальное значение загруженности процессора (в процентах от
полной), при котором процессор еще считается загруженным несильно. Эту информацию
IIS будет использовать для распределения потоков с целью удержать степень
загруженности процессора в рамках, заданных свойствами AspThreadGateLoadLow и
AspThreadGateLoadHigh.
Важно! IIS выполняет распределение потоков для того, чтобы динамически управлять
числом одновременно выполняющихся потоков, в соответствии с различными степенями
загруженности процессора. Значения, которые по умолчанию имеют свойства
распределения потоков, должны подходить для большинства конфигураций серверов и
степеней интенсивности трафика. Изменение этих свойств может привести к
существенному снижению производительности.
Если свойство задано на уровне веб-службы, оно распространяется на все узлы
внутренних и сгруппированных внешних приложений, на всех уровнях. В таком случае
параметры метабазы для внутренних и сгруппированных внешних приложений на уровне
веб-сервера или ниже будут игнорироваться. Однако для узлов, изолированных в качестве
внешних приложений, параметры, заданные на уровне веб-сервера или ниже, сохранят
свое действие.
Тип данных
Длинное целое (Long)
Значение по умолчанию 50 процентов
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
/LM/W3SVC/N/ROOT
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог IIsWebDirectory
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе
MD_ASP_THREADGATELOADLOW
Тип данных
DWORD_METADATA
Тип пользователя
ASP_MD_UT_APP
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
AspThreadGateSleepDelay
Это свойство задает период времени, в течение которого могут задерживаться запросы
потоков до того, как механизм распределения потоков IIS выполнит повторную проверку
запроса.
Важно! IIS выполняет распределение потоков для того, чтобы динамически управлять
числом одновременно выполняющихся потоков, в соответствии с различными степенями
загруженности процессора. Значения, которые по умолчанию имеют свойства
распределения потоков, должны подходить для большинства конфигураций серверов и
степеней интенсивности трафика. Изменение этих свойств может привести к
существенному снижению производительности.
Если свойство задано на уровне веб-службы, оно распространяется на все узлы
внутренних и сгруппированных внешних приложений, на всех уровнях. В таком случае
параметры метабазы для внутренних и внешних приложений на уровне веб-сервера или
ниже будут игнорироваться. Однако для узлов, изолированных в качестве внешних
приложений, параметры, заданные на уровне веб-сервера или ниже, сохранят свое
действие.
Тип данных
Длинное целое (Long)
Значение по умолчанию 100 (миллисекунд)
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
/LM/W3SVC/N/ROOT
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог IIsWebDirectory
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе
MD_ASP_THREADGATESLEEPDELAY
Тип данных
DWORD_METADATA
Тип пользователя
ASP_MD_UT_APP
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
AspThreadGateSleepMax
Это свойство задает максимальное число раз, которое отдельный запрос может быть
помещен в состояние ожидания (отложен) при распределении потоков IIS.
Важно! IIS выполняет распределение потоков для того, чтобы динамически управлять
числом одновременно выполняющихся потоков, в соответствии с различными степенями
загруженности процессора. Значения, которые по умолчанию имеют свойства
распределения потоков, должны подходить для большинства конфигураций серверов и
степеней интенсивности трафика. Изменение этих свойств может привести к
существенному снижению производительности.
Если свойство задано на уровне веб-службы, оно распространяется на все узлы
внутренних и сгруппированных внешних приложений, на всех уровнях. В таком случае
параметры метабазы для внутренних и внешних приложений на уровне веб-сервера или
ниже будут игнорироваться. Однако для узлов, изолированных в качестве внешних
приложений, параметры, заданные на уровне веб-сервера или ниже, сохранят свое
действие.
Тип данных
Длинное целое (Long)
Значение по умолчанию 50
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Metabase Path
Key Type
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
/LM/W3SVC/N/ROOT
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог IIsWebDirectory
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе
MD_ASP_THREADGATESLEEPMAX
Тип пользователя
ASP_MD_UT_APP
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
AspThreadGateTimeSlice
Это свойство указывает, как часто механизм распределения потоков IIS проверяет
загруженность процессора.
Важно! IIS выполняет распределение потоков для того, чтобы динамически управлять
числом одновременно выполняющихся потоков, в соответствии с различными степенями
загруженности процессора. Значения, которые по умолчанию имеют свойства
распределения потоков, должны подходить для большинства конфигураций серверов и
степеней интенсивности трафика. Изменение этих свойств может привести к
существенному снижению производительности.
Если свойство задано на уровне веб-службы, оно распространяется на все узлы
внутренних и сгруппированных внешних приложений, на всех уровнях. В таком случае
параметры метабазы для внутренних и сгруппированных внешних приложений на уровне
веб-сервера или ниже будут игнорироваться. Однако для узлов, изолированных в качестве
внешних приложений, параметры, заданные на уровне веб-сервера или ниже, сохранят
свое действие.
Тип данных
Длинное целое (Long)
Значение по умолчанию 1000 (миллисекунд)
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
/LM/W3SVC/N/ROOT
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог IIsWebDirectory
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе
MD_ASP_THREADGATETIMESLICE
Тип пользователя
ASP_MD_UT_APP
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
AspTrackThreadingModel
Это свойство определяет, будет ли IIS выполнять проверку модели потоков любых
компонентов, экземпляры которых создаются в приложении.
Важно! Рекомендуется обычно оставлять значение, данное этому свойству по
умолчанию (FALSE), чтобы ASP не использовали системные ресурсы для отслеживания
модели потоков; ASP-приложение при этом обычно работает с максимальной
производительностью. Если это свойство установлено в значение FALSE, а создаваемые
компоненты имеют область определения Application, то данные компоненты должны
включать в себя сортировщик свободных потоков. Если сортировщик свободных потоков
отсутствует, при попытке создания экземпляра объекта будет выдана ошибка ASP.
Дополнительные сведения см. в разделе Building Components for ASP пакета SDK
платформы.
Есть еще одна причина, по которой рекомендуется оставлять значение по умолчанию
(FALSE) данного свойства: любые не имеющие методов OnStartPage или OnEndPage
объекты, экземпляры которых создаются в ASP-приложении, будут освобождены раньше,
чем в ином случае. Это должно улучшить масштабируемость вашего приложения.
Дополнительные сведения о повышении производительности см. в разделе Разработка
масштабируемых ASP-приложений.
Примечание. В IIS 4.0 это свойство имело по умолчанию значение TRUE.
Если свойство задано на уровне веб-службы, оно распространяется на все узлы
внутренних и сгруппированных внешних приложений, на всех уровнях. В таком случае
параметры метабазы для внутренних и сгруппированных внешних приложений на уровне
веб-сервера или ниже будут игнорироваться. Однако для узлов, изолированных в качестве
внешних приложений, параметры, заданные на уровне веб-сервера или ниже, сохранят
свое действие.
Тип данных
Логический (Boolean)
Значение по умолчанию FALSE
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Metabase Path
Key Type
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
/LM/W3SVC/N/ROOT
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог IIsWebDirectory
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе
MD_ASP_TRACKTHREADINGMODEL
Тип данных
DWORD_METADATA
Тип пользователя
ASP_MD_UT_APP
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
AuthAnonymous
Это свойство определяет, будет ли в возвращаемом клиенту списке доступных методов
проверки подлинности присутствовать анонимная проверка подлинности.
AuthAnonymous представляет собой один из флагов методов проверки подлинности,
содержащихся в свойстве AuthFlags.
Тип данных
DWORD
Значение по умолчанию -1
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип объекта IIS
Admin
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
/LM/W3SVC/N/ROOT
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог
IIsWebDirectory
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог/ВебФайл IIsWebFile
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Примечание. Это свойство является битовой маской, используемой с идентификатором
MD_AUTHORIZATION.
Идентификатор свойства в метабазе MD_AUTHORIZATION
Идентификатор битовой маски
MD_AUTH_ANONYMOUS
Тип данных
DWORD_METADATA
Тип пользователя
IIS_MD_UT_FILE
Значение битовой маски
0x00000001
См. также
AuthFlags
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
AuthBasic
Это свойство определяет, будет ли в возвращаемом клиенту списке доступных методов
проверки подлинности присутствовать обычная проверка подлинности. AuthBasic
представляет собой один из флагов методов проверки подлинности, содержащихся в
свойстве AuthFlags.
Тип данных
Логический (Boolean)
Значение по умолчанию FALSE
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип объекта IIS
Admin
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
/LM/W3SVC/N/ROOT
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог
IIsWebDirectory
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог/ВебФайл IIsWebFile
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Примечание. Это свойство является битовой маской, используемой с идентификатором
MD_AUTHORIZATION.
Идентификатор свойства в метабазе MD_AUTHORIZATION
Идентификатор битовой маски
MD_AUTH_BASIC
Тип данных
DWORD_METADATA
Тип пользователя
IIS_MD_UT_FILE
Значение битовой маски
0x00000002
См. также
AuthFlags
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
AuthFlags
Это свойство содержит флаги методов проверки подлинности, которые присутствуют в
возвращаемом клиенту списке доступных методов проверки подлинности.
Это свойство содержит следующие флаги методов проверки подлинности:
AuthAnonymous
AuthBasic
AuthNTLM
Тип данных
Длинное целое (Long)
Значение по умолчанию AuthAnonymous = TRUE
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
/LM/W3SVC/N/ROOT
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог
IIsWebDirectory
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог/ВебФайл IIsWebFile
Информация об объекте IIS Admin Base
В следующих таблицах перечислены дополнительные сведения, которые требуются
только для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_AUTHORIZATION
Тип пользователя
IIS_MD_UT_FILE
Битовая маска по умолчанию
MD_AUTH_ANONYMOUS
Значения битовой маски
Константа
Значение
Описание
MD_AUTH_ANONYMOUS
0x00000001
Доступна анонимная
проверка подлинности.
MD_AUTH_BASIC
0x00000002
Доступна обычная проверка
подлинности.
MD_AUTH_NT
0x00000004
Доступны методы проверки
подлинности Windows.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
AuthNTLM
Это свойство определяет, будет ли в возвращаемом клиенту списке доступных методов
проверки подлинности присутствовать встроенная проверка подлинности Windows
(называемая также методом Challenge/Response или NTLM). AuthNTLM представляет
собой один из флагов методов проверки подлинности, содержащихся в свойстве
AuthFlags.
Тип данных
Логический (Boolean)
Значение по умолчанию FALSE
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип объекта IIS
Admin
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
/LM/W3SVC/N/ROOT
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог
IIsWebDirectory
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог/ВебФайл IIsWebFile
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Примечание. Это свойство является битовой маской, используемой с идентификатором
MD_AUTHORIZATION.
Идентификатор свойства в метабазе MD_AUTHORIZATION
Идентификатор битовой маски
MD_AUTH_NT
Тип данных
DWORD_METADATA
Тип пользователя
IIS_MD_UT_FILE
Значение битовой маски
0x00000004
См. также
AuthFlags
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
AuthPersistence
Это свойство определяет продолжительность действия результатов проверки подлинности
для запросов. Рекомендуется задавать значение этого свойства, устанавливая
соответствующий флаг в значение TRUE; при этом свойство AuthPersistence
автоматически получит двоичное значение.
Если флаг AuthPersistSingleRequest имеет значение TRUE, то результаты проверки
подлинности будут действительны только для одного запроса. Если в значение TRUE
установлен флаг AuthPersistSingleRequestIfProxy, то результаты проверки подлинности
будут действительны только для одного запроса, если он поступил через прокси-сервер и
не обрабатывается Microsoft Proxy Server. (То есть, если Proxy Server и IIS работают на
локальном компьютере, а запрос выполняется к удаленному серверу.) Если же значение
TRUE имеет флаг AuthPersistSingleRequestAlwaysIfProxy, то результаты проверки
подлинности будут действительны только для одного запроса, если этот запрос поступает
от прокси-сервера.
Примечание. В каждый момент времени только один подфлаг свойства AuthPersistence
может иметь значение TRUE. Имеются следующие подфлаги: AuthPersistSingleRequest,
AuthPersistSingleRequestIfProxy и AuthPersistSingleRequestAlwaysIfProxy. Когда одно
из этих трех свойств установлено в значение TRUE, два других свойства автоматически
устанавливаются в значение FALSE. Значение свойства AuthPersistence всегда равно
значению подфлага, установленного в значение TRUE.
Тип данных
Длинное целое (Long)
Значение по умолчанию
&H00000080 (или
AuthPersistSingleRequestIfProxy=TRUE)
Наследование
Наследуемое
Это свойство содержит следующие флаги методов проверки подлинности.
AuthPersistSingleRequest
AuthPersistSingleRequestAlwaysIfProxy
AuthPersistSingleRequestIfProxy
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
/LM/W3SVC/N/ROOT
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог
IIsWebDirectory
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог/ВебФайл IIsWebFile
Информация об объекте IIS Admin Base
В следующих таблицах перечислены дополнительные сведения, которые требуются
только для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе
MD_AUTHORIZATION_PERSISTENCE
Тип пользователя
IIS_MD_UT_FILE
Битовая маска по умолчанию
MD_AUTH_SINGLEREQUESTIFPROXY
Значения битовой маски
Константа
Значение
Описание
MD_AUTH_SINGLEREQUEST
0x00000040 Результаты проверки
подлинности
действительны
только для одного
запроса. IIS
прекратит действие
результатов проверки
подлинности по
окончании
обслуживания
запроса и потребует
выполнения
повторной проверки
подлинности при
следующем запросе в
данном сеансе.
MD_AUTH_SINGLEREQUESTIFPROXY
0x00000080 Результаты проверки
подлинности
действительны
только для одного
запроса. IIS
прекратит действие
результатов проверки
подлинности по
окончании
обслуживания
запроса и потребует
выполнения
повторной проверки
подлинности при
следующем запросе,
если текущий запрос
поступил от проксисервера и при этом в
IIS не работает
MSPROXY.
MD_AUTH_SINGLEREQUESTALWAYSIFPROXY 0x00000100 Результаты проверки
подлинности
действительны
только для одного
запроса. IIS
прекратит действие
результатов проверки
подлинности по
окончании
обслуживания
запроса и потребует
выполнения
повторной проверки
подлинности при
следующем запросе,
если текущий запрос
поступил от любого
прокси-сервера.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
AuthPersistSingleRequest
Это свойство определяет, что результаты проверки подлинности будут действительны
только для одного запроса. IIS прекратит действие результатов проверки подлинности по
окончании обслуживания запроса и потребует выполнения повторной проверки
подлинности при следующем запросе в данном сеансе.
AuthPersistSingleRequest представляет собой один из флагов методов проверки
подлинности, содержащихся в свойстве AuthPersistence.
Тип данных
Логический (Boolean)
Значение по умолчанию FALSE
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
/LM/W3SVC/N/ROOT
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог
IIsWebDirectory
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог/ВебФайл IIsWebFile
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Примечание. Это свойство является битовой маской, используемой с идентификатором
MD_AUTHORIZATION.
Идентификатор свойства в метабазе
MD_AUTHORIZATION_PERSISTENCE
Идентификатор битовой маски
MD_AUTH_SINGLEREQUEST
Тип пользователя
IIS_MD_UT_FILE
Значение битовой маски
0x00000040
См. также
AuthPersistence
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
AuthPersistSingleRequestIfProxy
Это свойство определяет, что результаты проверки подлинности будут действительны
только для одного запроса в подключении, если подключение установлено через проксисервер. IIS прекратит действие результатов проверки подлинности по окончании
обслуживания запроса и потребует выполнения повторной проверки подлинности при
следующем запросе, если текущий запрос поступил от прокси-сервера и при этом в IIS не
работает MSPROXY.
AuthPersistSingleRequestIfProxy представляет собой один из флагов методов проверки
подлинности, содержащихся в свойстве AuthPersistence.
Тип данных
Логический (Boolean)
Значение по умолчанию FALSE
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
/LM/W3SVC/N/ROOT
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог
IIsWebDirectory
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог/ВебФайл IIsWebFile
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Примечание. Это свойство является битовой маской, используемой с идентификатором
MD_AUTHORIZATION.
Идентификатор свойства в метабазе
MD_AUTHORIZATION_PERSISTENCE
Идентификатор битовой маски
MD_AUTH_SINGLEREQUESTIFPROXY
Тип пользователя
IIS_MD_UT_FILE
Значение битовой маски
0x00000080
См. также
AuthPersistence
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
AuthPersistSingleRequestAlwaysIfProxy
Это свойство определяет, что результаты проверки подлинности будут действительны
только для одного запроса, если этот запрос поступил через прокси-сервер. IIS прекратит
действие результатов проверки подлинности по окончании обслуживания запроса и
потребует выполнения повторной проверки подлинности при следующем запросе, если
текущий запрос поступил от любого прокси-сервера.
AuthPersistSingleRequestAlwaysIfProxy представляет собой один из флагов методов
проверки подлинности, содержащихся в свойстве AuthPersistence.
Тип данных
Логический (Boolean)
Значение по умолчанию FALSE
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
/LM/W3SVC/N/ROOT
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог
IIsWebDirectory
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог/ВебФайл IIsWebFile
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Примечание. Это свойство является битовой маской, используемой с идентификатором
MD_AUTHORIZATION.
Идентификатор свойства в
метабазе
MD_AUTHORIZATION_PERSISTENCE
Идентификатор битовой маски
MD_AUTH_SINGLEREQUESTALWAYSIFPROXY
Тип пользователя
IIS_MD_UT_FILE
Значение битовой маски
0x00000100
См. также
AuthPersistence
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
CacheControlCustom
Это свойство задает нестандартные директивы HTTP 1.1 для управления кэшем. Можно
указывать несколько директив, разделяя их парой символов «возврат каpeтки/перевод
строки» (CRLF). После последней директивы этой пары символов быть не должно.
Тип данных
Строка (String)
Значение по умолчанию
Пустое
По умолчанию это свойство не задано и
директивы управления кэшем не
отправляются
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип объекта IIS
Admin
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
/LM/W3SVC/N/ROOT
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог
IIsWebDirectory
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог/ВебФайл IIsWebFile
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_CC_OTHER
Тип пользователя
IIS_MD_UT_FILE
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
CacheControlMaxAge
Это свойство задает директиву HTTP 1.1 для управления максимальным временем
существования данных в кэше. Значение указывается в секундах и должно находиться в
диапазоне 0 — &HFFFFFFFF (-1, или неограничено).
Примечание. &H обозначает шестнадцатеричный формат VBScript.
Тип данных
Длинное целое (Long)
Значение по умолчанию 0
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
/LM/W3SVC/N/ROOT
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог
IIsWebDirectory
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог/ВебФайл IIsWebFile
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_MD_CC_MAX_AGE
Тип пользователя
IIS_MD_UT_FILE
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
CacheControlNoCache
Это свойство задает директиву HTTP 1.1 для отключения кэширования содержимого.
Тип данных
Логический (Boolean)
Значение по умолчанию
FALSE
По умолчанию это свойство не задано и
директивы управления кэшем не
отправляются
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
/LM/W3SVC/N/ROOT
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог
IIsWebDirectory
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог/ВебФайл IIsWebFile
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_CC_NO_CACHE
Тип данных
DWORD_METADATA
Тип пользователя
IIS_MD_UT_FILE
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
CacheISAPI
Это свойство определяет, будут ли ISAPI-расширения кэшироваться в памяти после их
использования. Если свойство имеет значение TRUE, то библиотека DLL будет оставаться
в кэше до остановки сервера. Если значением этого свойства является FALSE, то по
окончании работы с соответствующими библиотеками DLL эти расширения будут
выгружаться из памяти.
То, будут или не будут кэшироваться ISAPI-расширения, определяется значением этого
свойства в момент загрузки этих расширений в память. Поэтому если значение данного
свойства будет изменено после загрузки расширения и помещения его в кэш, оно не
повлияет на это расширение.
Тип данных
Логический (Boolean)
Значение по умолчанию TRUE
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
This property is accessible at the following locations:
Путь в метабазе
Тип раздела
/LM/W3SVC/1
IIsWebServer
/LM/W3SVC
IIsWebService
/LM/W3SVC/N/ROOT
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог IIsWebDirectory
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_CACHE_EXTENSIONS
Тип данных
DWORD_METADATA
Тип пользователя
IIS_MD_UT_FILE
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
CertCheckMode
Это свойство метабазы используется для включения или отключения проверки списка
отозванных сертификатов (CRL). Когда значение свойства CertCheckMode больше нуля
(CertCheckMode>0), список не проверяется на наличие отозванных сертификатов. Когда
значение свойства CertCheckMode равно нулю (CertCheckMode=0), список проверяется
на наличие отозванных сертификатов.
Тип данных
Целое (Integer)
Значение по умолчанию 0
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе Тип раздела
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_CERT_CHECK_MODE
Тип пользователя
IIS_MD_UT_SERVER
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
CGITimeout
Это свойство задает период ожидания в секундах для CGI-приложений. Допустимый
диапазон значений — от 10 до &H80000000 (2,1 миллиона) секунд.
Примечание. &H обозначает шестнадцатеричный формат VBScript.
Тип данных
Длинное целое (Long)
Значение по умолчанию 300 секунд
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
/LM/W3SVC/N/ROOT
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог
IIsWebDirectory
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог/ВебФайл IIsWebFile
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_SCRIPT_TIMEOUT
Тип пользователя
IIS_MD_UT_FILE
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
ConnectionTimeout
Это свойство задает промежуток времени в секундах, по прошествии которого сервер
разрывает неактивное подключение.
Тип данных
Длинное целое (Long)
Значение по умолчанию 900 (15 минут)
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/MSFTPSVC
IIsFtpService
/LM/MSFTPSVC/N IIsFtpServer
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_CONNECTION_TIMEOUT
Тип пользователя
IIS_MD_UT_SERVER
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
ContentIndexed
Это свойство определяет, будет ли индексироваться содержимое этого дерева каталогов с
помощью установленного средства индексирования.
Тип данных
Логический (Boolean)
Значение по умолчанию FALSE
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC
IIsWebService
/LM/W3SVC/N/ROOT
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог IIsWebDirectory
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_IS_CONTENT_INDEXED
Тип данных
DWORD_METADATA
Тип пользователя
IIS_MD_UT_SERVER
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
CpuAppEnabled
Это свойство указывает, нужно ли выполнять сбор статистики и регулирование процессов
для ISAPI-расширений и ASP-приложений. Свойство CpuCgiEnabled служит для сбора
статистики процессов CGI-приложениями.
Примечание. Так как средства сбора статистики процессов в IIS для отслеживания
времени, которое процессор тратит на обслуживание данного процесса, используют
объекты Job Windows, то сбор статистики и регулирование возможны только для
приложений, изолированных в процессе, отличном от процесса IIS.
Регулирование процессов и сбор статистики процессов управляются независимо друг от
друга несколькими другими свойствами. Для включения сбора статистики процессов
нужно установить свойство CpuEnableLogging (входящее в свойство CpuLoggingMask) в
значение TRUE, а также присвоить значение TRUE по крайней мере одному из остальных
свойств, входящих в CpuLoggingMask. Также необходимо установить по крайней мере
один флаг из набора CpuLoggingOptions, дать ненулевое значение свойству
CpuLoggingInterval и установить соответствующее свойство (CpuAppEnabled или
CpuCgiEnabled) в значение TRUE.
Чтобы правильно задействовать регулирование процессов, установите свойство
CpuLimitsEnabled в значение TRUE; также значение TRUE должно иметь по крайней
мере одно из следующих свойств: CpuLimitLogEvent, CpuLimitPriority,
CpuLimitProcStop или CpuLimitPause.
Тип данных
Логический (Boolean)
Значение по умолчанию TRUE
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
/LM/W3SVC/N/ROOT
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог
IIsWebDirectory
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог/ВебФайл IIsWebFile
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_CPU_APP_ENABLED
Тип данных
DWORD_METADATA
Тип пользователя
IIS_MD_UT_FILE
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
CpuCgiEnabled
Это свойство определяет, будет ли IIS выполнять сбор статистики процессов для CGIприложений. Чтобы эффективно регулировать CGI-приложения, используйте свойство
CgiTimeout. Чтобы включить средства сбора статистики для ISAPI- и ASP-приложений,
воспользуйтесь свойством CpuAppEnabled.
Примечание. Так как средства сбора статистики процессов в IIS для отслеживания
времени, которое процессор тратит на обслуживание данного процесса, используют
объекты Job Windows, то сбор статистики и регулирование возможны только для
приложений, изолированных в процессе, отличном от процесса IIS.
Регулирование процессов и сбор статистики процессов управляются независимо друг от
друга несколькими другими свойствами. Для включения сбора статистики процессов
нужно установить свойство CpuEnableLogging (входящее в свойство CpuLoggingMask) в
значение TRUE, а также присвоить значение TRUE по крайней мере одному из остальных
свойств, входящих в CpuLoggingMask. Также необходимо установить по крайней мере
один флаг из набора CpuLoggingOptions, дать ненулевое значение свойству
CpuLoggingInterval и установить соответствующее свойство (CpuAppEnabled или
CpuCgiEnabled) в значение TRUE.
Чтобы правильно задействовать регулирование процессов, установите свойство
CpuLimitsEnabled в значение TRUE; также значение TRUE должно иметь по крайней
мере одно из следующих свойств: CpuLimitLogEvent, CpuLimitPriority,
CpuLimitProcStop или CpuLimitPause.
Тип данных
Логический (Boolean)
Значение по умолчанию TRUE
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
/LM/W3SVC/N/ROOT
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог
IIsWebDirectory
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог/ВебФайл IIsWebFile
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_CPU_CGI_ENABLED
Тип данных
DWORD_METADATA
Тип пользователя
IIS_MD_UT_FILE
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
CpuCgiLimit
Когда это свойство имеет ненулевое значение, оно задает время в секундах, в течение
которого сценарию CGI разрешается находится в процессе. Если же значением свойства
является ноль, время нахождения в процессе неограничено.
Примечание. Чтобы свойство CpuCgiLimit было задействовано, нужно установить в
значение TRUE свойство CpuLimitsEnabled или CpuLoggingOptions.
Тип данных
Целое (Integer)
Значение по умолчанию 0 (ноль)
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе Тип раздела
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_CPU_CGI_LIMIT
Тип данных
DWORD_METADATA
Тип пользователя
IIS_MD_UT_SERVER
См. также
ScriptTimeout
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
CpuEnableActiveProcs
Это свойство определяет, будет ли при сборе статистики процессов регистрироваться
общее число активных процессов.
Тип данных
DWORD
Значение по умолчанию -1
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе Тип раздела
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Примечание. Это свойство является битовой маской, используемой с идентификатором
MD_CPU_LOGGING_MASK.
Идентификатор свойства в метабазе
MD_CPU_LOGGING_MASK
Идентификатор битовой маски
MD_CPU_ENABLE_ACTIVE_PROCS
Тип данных
DWORD_METADATA
Тип пользователя
IIS_MD_UT_SERVER
Значение битовой маски
0x00000040
См. также
CpuLoggingMask
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
CpuEnableAllProcLogging
Это свойство определяет, будет ли IIS регистрировать общее процессорное время,
затраченное на выполнение ISAPI-расширений и ASP- и CGI-приложений.
Дополнительные сведения см. в описании свойства CpuLoggingOptions.
Тип данных
DWORD
Значение по умолчанию -1
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе Тип раздела
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Примечание. Это свойство является битовой маской, используемой с идентификатором
MD_CPU_LOGGING_OPTIONS.
Идентификатор свойства в метабазе
MD_CPU_LOGGING_OPTIONS
Идентификатор битовой маски
MD_CPU_ENABLE_ALL_PROC_LOGGING
Тип данных
DWORD_METADATA
Тип пользователя
IIS_MD_UT_SERVER
Значение битовой маски
0x00000001
См. также
CpuLoggingOptions
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
CpuEnableAppLogging
Это свойство определяет, будет ли IIS регистрировать сведения, относящиеся к ISAPIрасширениям и ASP-приложениям. Дополнительные сведения см. в описании свойства
CpuLoggingOptions.
Тип данных
Логический (Boolean)
Значение по умолчанию FALSE
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе Тип раздела
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Примечание. Это свойство является битовой маской, используемой с идентификатором
MD_CPU_LOGGING_OPTIONS.
Идентификатор свойства в метабазе
MD_CPU_LOGGING_OPTIONS
Идентификатор битовой маски
MD_CPU_ENABLE_APP_LOGGING
Тип данных
DWORD_METADATA
Тип пользователя
IIS_MD_UT_SERVER
Значение битовой маски
0x00000004
См. также
CpuLoggingOptions
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
CpuEnableCgiLogging
Это свойство определяет, будет ли IIS регистрировать процессорное время, затраченное
на выполнение CGI-приложений. Дополнительные сведения см. в описании свойства
CpuLoggingOptions.
Тип данных
Логический (Boolean)
Значение по умолчанию FALSE
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе Тип раздела
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Примечание. Это свойство является битовой маской, используемой с идентификатором
MD_CPU_LOGGING_OPTIONS.
Идентификатор свойства в метабазе
MD_CPU_LOGGING_OPTIONS
Идентификатор битовой маски
MD_CPU_ENABLE_CGI_LOGGING
Тип данных
DWORD_METADATA
Тип пользователя
IIS_MD_UT_SERVER
Значение битовой маски
0x00000002
См. также
CpuLoggingOptions
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
CpuEnableEvent
Это свойство определяет, включается ли событие, повлекшее создание записи журнала, в
эту запись. Дополнительные сведения см. в описании свойства CpuLoggingMask.
Тип данных
DWORD
Значение по умолчанию -1
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе Тип раздела
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Примечание. Это свойство является битовой маской, используемой с идентификатором
MD_CPU_LOGGING_MASK.
Идентификатор свойства в метабазе MD_CPU_LOGGING_MASK
Идентификатор битовой маски
MD_CPU_ENABLE_EVENT
Тип данных
DWORD_METADATA
Тип пользователя
IIS_MD_UT_SERVER
Значение битовой маски
0x00000001
См. также
CpuLoggingMask
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
CpuEnableKernelTime
Это свойство определяет, будет ли при сборе статистики процессов регистрироваться
процессорное время работы в системном режиме. Дополнительные сведения см. в
описании свойства CpuLoggingMask.
Тип данных
DWORD
Значение по умолчанию -1
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе Тип раздела
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Примечание. Это свойство является битовой маской, используемой с идентификатором
MD_CPU_LOGGING_MASK.
Идентификатор свойства в метабазе
MD_CPU_LOGGING_MASK
Идентификатор битовой маски
MD_CPU_ENABLE_KERNEL_TIME
Тип данных
DWORD_METADATA
Тип пользователя
IIS_MD_UT_SERVER
Значение битовой маски
0x00000008
См. также
CpuLoggingMask
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
CpuEnableLogging
Это свойство включает или отключает сбор статистики процессов для веб-службы или
сервера. Средства сбора статистики процессов могут регистрировать объемы
процессорного времени, затраченного на данный веб-сервер или службу, а также другие
могущие возникнуть события по регулированию процессов. Дополнительные сведения см.
в описании свойства CpuLoggingMask.
Так как средства сбора статистики процессов в IIS для отслеживания времени, которое
процессор тратит на обслуживание данного процесса, используют объекты Job Windows,
то сбор статистики и регулирование возможны только для приложений, изолированных в
процессе, отличном от процесса IIS.
Тип данных
Логический (Boolean)
Значение по умолчанию TRUE
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе Тип раздела
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Примечание. Это свойство является битовой маской, используемой с идентификатором
MD_CPU_LOGGING_MASK.
Идентификатор свойства в метабазе MD_CPU_LOGGING_MASK
Идентификатор битовой маски
MD_CPU_ENABLE_LOGGING
Тип данных
DWORD_METADATA
Тип пользователя
IIS_MD_UT_SERVER
Значение битовой маски
0x80000000
См. также
CpuLoggingMask
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
CpuEnablePageFaults
Это свойство определяет, будет ли при сборе статистики процессов регистрироваться
общее число сбоев доступа к страницам. Дополнительные сведения см. в описании
свойства CpuLoggingMask.
Тип данных
DWORD
Значение по умолчанию -1
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе Тип раздела
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Примечание. Это свойство является битовой маской, используемой с идентификатором
MD_CPU_LOGGING_MASK.
Идентификатор свойства в метабазе
MD_CPU_LOGGING_MASK
Идентификатор битовой маски
MD_CPU_ENABLE_PAGE_FAULTS
Тип данных
DWORD_METADATA
Тип пользователя
IIS_MD_UT_SERVER
Значение битовой маски
0x00000010
См. также
CpuLoggingMask
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
CpuEnableProcType
Это свойство определяет, будет ли при сборе статистики процессов регистрироваться тип
процесса. Дополнительные сведения см. в описании свойства CpuLoggingMask.
Тип данных
DWORD
Значение по умолчанию -1
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе Тип раздела
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Примечание. Это свойство является битовой маской, используемой с идентификатором
MD_CPU_LOGGING_MASK.
Идентификатор свойства в метабазе MD_CPU_LOGGING_MASK
Идентификатор битовой маски
MD_CPU_ENABLE_PROC_TYPE
Тип данных
DWORD_METADATA
Тип пользователя
IIS_MD_UT_SERVER
Значение битовой маски
0x00000002
См. также
CpuLoggingMask
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
CpuEnableTerminatedProcs
Это свойство определяет, будет ли при сборе статистики процессов регистрироваться
общее число прерванных процессов. Дополнительные сведения см. в описании свойства
CpuLoggingMask.
Тип данных
DWORD
Значение по умолчанию -1
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе Тип раздела
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Примечание. Это свойство является битовой маской, используемой с идентификатором
MD_CPU_LOGGING_MASK.
Идентификатор свойства в метабазе
MD_CPU_LOGGING_MASK
Идентификатор битовой маски
MD_CPU_ENABLE_TERMINATED_PROCS
Тип данных
DWORD_METADATA
Тип пользователя
IIS_MD_UT_SERVER
Значение битовой маски
0x00000080
См. также
CpuLoggingMask
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
CpuEnableTotalProcs
Это свойство определяет, будет ли при сборе статистики процессов регистрироваться
общее число процессов. Дополнительные сведения см. в описании свойства
CpuLoggingMask.
Тип данных
DWORD
Значение по умолчанию -1
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе Тип раздела
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Примечание. Это свойство является битовой маской, используемой с идентификатором
MD_CPU_LOGGING_MASK.
Идентификатор свойства в метабазе
MD_CPU_LOGGING_MASK
Идентификатор битовой маски
MD_CPU_ENABLE_TOTAL_PROCS
Тип данных
DWORD_METADATA
Тип пользователя
IIS_MD_UT_SERVER
Значение битовой маски
0x00000020
См. также
CpuLoggingMask
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
CpuEnableUserTime
Это свойство определяет, будет ли при сборе статистики процессов регистрироваться
процессорное время работы в режиме пользователя. Дополнительные сведения см. в
описании свойства CpuLoggingMask.
Тип данных
DWORD
Значение по умолчанию -1
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе Тип раздела
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Примечание. Это свойство является битовой маской, используемой с идентификатором
MD_CPU_LOGGING_MASK.
Идентификатор свойства в метабазе MD_CPU_LOGGING_MASK
Идентификатор битовой маски
MD_CPU_ENABLE_USER_TIME
Тип данных
DWORD_METADATA
Тип пользователя
IIS_MD_UT_SERVER
Значение битовой маски
0x00000004
См. также
CpuLoggingMask
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
CpuLimitLogEvent
Это свойство задает процент процессорного времени (в тысячных долях процента),
который разрешается занимать всем изолированным процессам на веб-сервере в течение
данного промежутка времени сбора статистики (заданного в свойстве CpuResetInterval).
Если процессы пытаются использовать больше процессорного времени, чем указано в
свойстве CpuLimitLogEvent, то в журнал событий Windows помещается запись о
превышении процессами установленного предела. Если сбор статистики процессов
включен, то попытка выхода за установленный предел будет также зафиксирована в
журнале IIS.
Если свойство CpuLimitLogEvent имеет нулевое значение или значение, превышающее
100,000 (100 процентов), IIS не будет регистрировать какие-либо связанные с процессом
события. Однако некоторые из других свойств, используемых для регулирования
процессов, например свойства CpuLimitPriority, CpuLimitProcStop или CpuLimitPause,
могут вызвать ответ от IIS при превышении предела процессорного времени.
Примечание. Так как средства сбора статистики процессов в IIS для отслеживания
времени, которое процессор тратит на обслуживание данного процесса, используют
объекты Job Windows, то сбор статистики и регулирование возможны только для
приложений, изолированных в процессе, отличном от процесса IIS.
Регулирование процессов и сбор статистики процессов управляются независимо друг от
друга несколькими другими свойствами. Для включения сбора статистики процессов
нужно установить свойство CpuEnableLogging (входящее в свойство CpuLoggingMask) в
значение TRUE, а также присвоить значение TRUE по крайней мере одному из остальных
свойств, входящих в CpuLoggingMask. Также необходимо установить по крайней мере
один флаг из набора CpuLoggingOptions, дать ненулевое значение свойству
CpuLoggingInterval и установить соответствующее свойство (CpuAppEnabled или
CpuCgiEnabled) в значение TRUE.
Чтобы правильно задействовать регулирование процессов, установите свойство
CpuLimitsEnabled в значение TRUE; также значение TRUE должно иметь по крайней
мере одно из следующих свойств: CpuLimitLogEvent, CpuLimitPriority,
CpuLimitProcStop или CpuLimitPause.
Важно! Приложения, для которых не включено регулирование процессов, не
учитываются при подсчете общей загруженности процессора для определения
превышения предела, наложенного на использование процессора.
Тип данных
Длинное целое (Long)
Значение по умолчанию 0 (неограничено)
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе Тип раздела
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_CPU_LIMIT_LOGEVENT
Тип пользователя
IIS_MD_UT_SERVER
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
CpuLimitPause
Это свойство задает процент процессорного времени (в тысячных долях процента),
который могут занимать все изолированные процессы на веб-сервере в течение данного
промежутка времени сбора статистики (заданного в свойстве CpuResetInterval). Если
процессы пытаются использовать больше процессорного времени, чем задано в свойстве
CpuLimitPause, IIS приостановит работу всего узла, и все новые клиентские запросы
будут отклоняться с выдачей сообщения о нехватке ресурсов сервера. Узел будет
оставаться в приостановленном состоянии до тех пор, пока не закончится текущий
интервал сброса. Любое превышение предела будет занесено в журнал событий Windows
и, если включен сбор статистики процессов, в журнал IIS.
Если свойство CpuLimitPause имеет нулевое значение или значение, превышающее
100,000 (100 процентов), IIS не будет приостанавливать узел. Однако некоторые из других
свойств, используемых для регулирования процессов, например свойства
CpuLimitLogEvent, CpuLimitPriority или CpuLimitProcStop, могут вызвать ответ от IIS
при превышении предела процессорного времени.
Примечание. Так как средства сбора статистики процессов в IIS для отслеживания
времени, которое процессор тратит на обслуживание данного процесса, используют
объекты Job Windows, то сбор статистики и регулирование возможны только для
приложений, изолированных в процессе, отличном от процесса IIS.
Регулирование процессов и сбор статистики процессов управляются независимо друг от
друга несколькими другими свойствами. Для включения сбора статистики процессов
нужно установить свойство CpuEnableLogging (входящее в свойство CpuLoggingMask) в
значение TRUE, а также присвоить значение TRUE по крайней мере одному из остальных
свойств, входящих в CpuLoggingMask. Также необходимо установить по крайней мере
один флаг из набора CpuLoggingOptions, дать ненулевое значение свойству
CpuLoggingInterval и установить соответствующее свойство (CpuAppEnabled или
CpuCgiEnabled) в значение TRUE.
Чтобы правильно задействовать регулирование процессов, установите свойство
CpuLimitsEnabled в значение TRUE; также значение TRUE должно иметь по крайней
мере одно из следующих свойств: CpuLimitLogEvent, CpuLimitPriority,
CpuLimitProcStop или CpuLimitPause.
Важно! Приложения, для которых не включено регулирование процессов, не
учитываются при подсчете общей загруженности процессора для определения
превышения предела, наложенного на использование процессора.
Тип данных
Длинное целое (Long)
Значение по умолчанию 0 (неограничено)
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе Тип раздела
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_CPU_LIMIT_PAUSE
Тип пользователя
IIS_MD_UT_SERVER
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
CpuLimitPriority
Это свойство задает процент процессорного времени (в тысячных долях процента),
который могут занимать все изолированные процессы на веб-сервере в течение данного
промежутка времени сбора статистики (заданного в свойстве CpuResetInterval). Если
процессы пытаются использовать больше процессорного времени, чем указано в свойстве
CpuLimitPriority, то всем процессам данного сервера будет назначен приоритет Idle
Class, который они сохранят до следующего интервала сброса средств сбора статистики.
Всем новым процессам на этом сервере также будет назначен приоритет Idle Class. Любое
превышение предела будет занесено в журнал событий Windows и, если включен сбор
статистики процессов, в журнал IIS.
Если свойство CpuLimitPriority имеет нулевое значение или значение, превышающее
100,000 (100 процентов), IIS не будет изменять приоритет какого-либо из потоков
процесса. Однако некоторые из других свойств, используемых для регулирования
процессов, например свойства CpuLimitLogEvent, CpuLimitProcStop или
CpuLimitPause, могут вызвать ответ от IIS при превышении предела процессорного
времени.
Примечание. Так как средства сбора статистики процессов в IIS для отслеживания
времени, которое процессор тратит на обслуживание данного процесса, используют
объекты Job Windows, то сбор статистики и регулирование возможны только для
приложений, изолированных в процессе, отличном от процесса IIS.
Регулирование процессов и сбор статистики процессов управляются независимо друг от
друга несколькими другими свойствами. Для включения сбора статистики процессов
нужно установить свойство CpuEnableLogging (входящее в свойство CpuLoggingMask) в
значение TRUE, а также присвоить значение TRUE по крайней мере одному из остальных
свойств, входящих в CpuLoggingMask. Также необходимо установить по крайней мере
один флаг из набора CpuLoggingOptions, дать ненулевое значение свойству
CpuLoggingInterval и установить соответствующее свойство (CpuAppEnabled или
CpuCgiEnabled) в значение TRUE.
Чтобы правильно задействовать регулирование процессов, установите свойство
CpuLimitsEnabled в значение TRUE; также значение TRUE должно иметь по крайней
мере одно из следующих свойств: CpuLimitLogEvent, CpuLimitPriority,
CpuLimitProcStop или CpuLimitPause.
Важно! Приложения, для которых не включено регулирование процессов, не
учитываются при подсчете общей загруженности процессора для определения
превышения предела, наложенного на использование процессора.
Тип данных
Длинное целое (Long)
Значение по умолчанию 0 (неограничено)
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе Тип раздела
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_CPU_LIMIT_PRIORITY
Тип пользователя
IIS_MD_UT_SERVER
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
CpuLimitProcStop
Это свойство задает процент процессорного времени (в тысячных долях процента),
который могут занимать все изолированные процессы на веб-сервере в течение данного
промежутка времени сбора статистики (заданного в свойстве CpuResetInterval). Если
изолированные процессы попытаются использовать больше процессорного времени, чем
указано в свойстве CpuLimitProcStop, IIS остановит все изолированные процессы на
данном узле, для которых разрешено регулирование процессов. Процессам, прерванным
из-за превышения предела, будет запрещен повторный запуск до начала следующего
интервала сброса. Любое превышение предела будет занесено в журнал событий Windows
и, если включен сбор статистики процессов, в журнал IIS.
Если свойство CpuLimitProcStop имеет нулевое значение или значение, превышающее
100,000 (100 процентов), IIS не будет останавливать процесс. Однако некоторые из других
свойств, используемых для регулирования процессов, например свойства
CpuLimitLogEvent, CpuLimitPriority или CpuLimitPause, могут вызвать ответ от IIS при
превышении предела процессорного времени.
Примечание. Так как средства сбора статистики процессов в IIS для отслеживания
времени, которое процессор тратит на обслуживание данного процесса, используют
объекты Job Windows, то сбор статистики и регулирование возможны только для
приложений, изолированных в процессе, отличном от процесса IIS.
Регулирование процессов и сбор статистики процессов управляются независимо друг от
друга несколькими другими свойствами. Для включения сбора статистики процессов
нужно установить свойство CpuEnableLogging (входящее в свойство CpuLoggingMask) в
значение TRUE, а также присвоить значение TRUE по крайней мере одному из остальных
свойств, входящих в CpuLoggingMask. Также необходимо установить по крайней мере
один флаг из набора CpuLoggingOptions, дать ненулевое значение свойству
CpuLoggingInterval и установить соответствующее свойство (CpuAppEnabled или
CpuCgiEnabled) в значение TRUE.
Чтобы правильно задействовать регулирование процессов, установите свойство
CpuLimitsEnabled в значение TRUE; также значение TRUE должно иметь по крайней
мере одно из следующих свойств: CpuLimitLogEvent, CpuLimitPriority,
CpuLimitProcStop или CpuLimitPause.
Важно! Приложения, для которых не включено регулирование процессов, не
учитываются при подсчете общей загруженности процессора для определения
превышения предела, наложенного на использование процессора.
Тип данных
Длинное целое (Long)
Значение по умолчанию 0 (неограничено)
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе Тип раздела
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_CPU_LIMIT_PROCSTOP
Тип пользователя
IIS_MD_UT_SERVER
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
CpuLimitsEnabled
Это свойство включает или отключает регулирование процессов. Регулирование
процессов может быть включено как для отдельного виртуального сервера, так и для всей
веб-службы в целом, чтобы ограничить использование процессора.
Примечание. Так как средства сбора статистики процесса в IIS для отслеживания
времени, которое процессор тратит на обслуживание данного процесса, используют
объекты Job Windows, то сбор статистики и регулирование возможны только для
приложений, изолированных в процессе, отличном от процесса IIS.
Регулирование процессов и сбор статистики процессов управляются независимо друг от
друга несколькими другими свойствами. Для включения сбора статистики процессов
нужно установить свойство CpuEnableLogging (входящее в свойство CpuLoggingMask) в
значение TRUE, а также присвоить значение TRUE по крайней мере одному из остальных
свойств, входящих в CpuLoggingMask. Также необходимо установить по крайней мере
один флаг из набора CpuLoggingOptions, дать ненулевое значение свойству
CpuLoggingInterval и установить соответствующее свойство (CpuAppEnabled или
CpuCgiEnabled) в значение TRUE.
Чтобы правильно задействовать регулирование процессов, установите свойство
CpuLimitsEnabled в значение TRUE; также значение TRUE должно иметь по крайней
мере одно из следующих свойств: CpuLimitLogEvent, CpuLimitPriority,
CpuLimitProcStop или CpuLimitPause.
Тип данных
Логический (Boolean)
Значение по умолчанию FALSE
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе Тип раздела
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_CPU_LIMITS_ENABLED
Тип данных
DWORD_METADATA
Тип пользователя
IIS_MD_UT_SERVER
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
CpuLoggingInterval
Это свойство метабазы задает период (в минутах) записи в журнал при сборе статистики и
регулировании процессов. Если сбор статистики процессов включен, IIS будет заносить в
файл журнала сведения о процессе в конце каждого периода, указанного в свойстве
CpuLoggingInterval.
Важно! Для нормальной работы средств сбора статистики процессов необходимо, чтобы
значение свойства CpuLoggingInterval было меньше, чем значение свойства
CpuResetInterval. Если свойство CpuLoggingInterval имеет большее значение, чем
свойство CpuResetInterval, IIS будет сбрасывать счетчики и таймер журнала до
истечения периода записи в журнал, и статистика процессов сохраняться не будет.
Примечание. Так как средства сбора статистики процессов в IIS для отслеживания
времени, которое процессор тратит на обслуживание данного процесса, используют
объекты Job Windows, то сбор статистики и регулирование возможны только для
приложений, изолированных в процессе, отличном от процесса IIS.
Регулирование процессов и сбор статистики процессов управляются независимо друг от
друга несколькими другими свойствами. Для включения сбора статистики процессов
нужно установить свойство CpuEnableLogging (входящее в свойство CpuLoggingMask) в
значение TRUE, а также присвоить значение TRUE по крайней мере одному из остальных
свойств, входящих в CpuLoggingMask. Также необходимо установить по крайней мере
один флаг из набора CpuLoggingOptions, дать ненулевое значение свойству
CpuLoggingInterval и установить соответствующее свойство (CpuAppEnabled или
CpuCgiEnabled) в значение TRUE.
Чтобы правильно задействовать регулирование процессов, установите свойство
CpuLimitsEnabled в значение TRUE; также значение TRUE должно иметь по крайней
мере одно из следующих свойств: CpuLimitLogEvent, CpuLimitPriority,
CpuLimitProcStop или CpuLimitPause.
Тип данных
Длинное целое (Long)
Значение по умолчанию
60 минут (минимум – 1 минута)
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе Тип раздела
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_CPU_LOGGING_INTERVAL
Тип пользователя
IIS_MD_UT_SERVER
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
CpuLoggingMask
Это свойство метабазы определяет, какие поля, связанные со статистикой и
регулированием процессов, будут заноситься в файл журнала IIS. Все отобранные поля
будут записываться в журнал статистики для каждого процесса. Все занесенные значения
будут соответствовать используемому интервалу сброса.
Примечание. Так как средства сбора статистики процессов в IIS для отслеживания
времени, которое процессор тратит на обслуживание данного процесса, используют
объекты Job Windows, то сбор статистики и регулирование возможны только для
приложений, изолированных в процессе, отличном от процесса IIS.
Данное свойство содержит следующие флаги:
CpuEnableLogging
CpuEnableProcType
CpuEnableActiveProcs
CpuEnableTerminatedProcs
CpuEnableEvent
CpuEnableTotalProcs
CpuEnableKernelTime
CpuEnableUserTime
CpuEnablePageFaults
Флаги этой маски можно также изменить, задавая свойству CpuLoggingMask
шестнадцатеричные значения, описанные в следующих таблицах.
Регулирование процессов и сбор статистики процессов управляются независимо друг от
друга несколькими другими свойствами. Для включения сбора статистики процессов
нужно установить свойство CpuEnableLogging (входящее в свойство CpuLoggingMask) в
значение TRUE, а также присвоить значение TRUE по крайней мере одному из остальных
свойств, входящих в CpuLoggingMask. Также необходимо установить по крайней мере
один флаг из набора CpuLoggingOptions_k2_cpuloggingoptions, дать ненулевое значение
свойству CpuLoggingInterval_k2_cpulogginginterval и установить соответствующее
свойство (CpuAppEnabled_k2_cpuappenabled или CpuCgiEnabled_k2_cpucgienabled) в
значение TRUE.
Чтобы правильно задействовать регулирование процессов, установите свойство
CpuLimitsEnabled в значение TRUE; также значение TRUE должно иметь по крайней
мере одно из следующих свойств: CpuLimitLogEvent, CpuLimitPriority,
CpuLimitProcStop или CpuLimitPause.
Тип данных
Длинное целое (Long)
Значение по умолчанию
Все флаги имеют значение TRUE
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе Тип раздела
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
Информация об объекте IIS Admin Base
В следующих таблицах перечислены дополнительные сведения, которые требуются
только для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе
MD_CPU_LOGGING_MASK
Тип пользователя
IIS_MD_UT_SERVER
Битовая маска по умолчанию
MD_CPU_ENABLE_LOGGING
Примечание. По умолчанию
установлено несколько битов.
MD_CPU_ENABLE_EVENT
MD_CPU_ENABLE_PROC_TYPE
MD_CPU_ENABLE_USER_TIME
MD_CPU_ENABLE_KERNEL_TIME
MD_CPU_ENABLE_PAGE_FAULTS
MD_CPU_ENABLE_TOTAL_PROCS
MD_CPU_ENABLE_ACTIVE_PROCS
MD_CPU_ENABLE_TERMINATED_PROCS
Значение битовой маски по умолчанию
Значения битовой маски
0x800000FF
Константа
Значение
Описание
MD_CPU_ENABLE_LOGGING
0x80000000
Включает или отключает
сбор статистики
процессов.
MD_CPU_ENABLE_EVENT
0x00000001
Регистрация событий
узла, таких как запуск,
остановка и
регулирование процессов
узла.
MD_CPU_ENABLE_PROC_TYPE
0x00000002
Регистрация типа
процесса.
MD_CPU_ENABLE_USER_TIME
0x00000004
Регистрация общего
времени нахождения
процессора в
пользовательском режиме
в процентном отношении
к полному процессорному
времени (выражается в
тысячных долях
процента).
MD_CPU_ENABLE_KERNEL_TIME
0x00000008
Регистрация общего
времени нахождения
процессора в системном
режиме в процентном
отношении к полному
процессорному времени
(выражается в тысячных
долях процента).
MD_CPU_ENABLE_PAGE_FAULTS
0x00000010
Регистрация общего числа
сбоев доступа к странице.
MD_CPU_ENABLE_TOTAL_PROCS
0x00000020
Регистрация общего числа
процессов.
MD_CPU_ENABLE_ACTIVE_PROCS
0x00000040
Регистрация общего числа
активных процессов.
MD_CPU_ENABLE_TERMINATED_PROCS 0x00000080
Регистрация общего числа
прерванных процессов.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
CpuLoggingOptions
Это свойство содержит флаги, определяющие режим регистрации использования
процессорного времени службами, серверами и приложениями. С помощью этого
свойства можно настроить IIS на суммирование процессорного времени только для CGIприложений, только для ISAPI-расширений и ASP-приложений или для всех приложений.
Тип данных
Длинное целое (Long)
Значение по умолчанию 1
Наследование
Наследуемое
Примечание. Так как средства сбора статистики процессов в IIS для отслеживания
времени, которое процессор тратит на обслуживание данного процесса, используют
объекты Job Windows, то сбор статистики и регулирование возможны только для
приложений, изолированных в процессе, отличном от процесса IIS.
Можно также непосредственно манипулировать битовыми флагами свойства
CpuLoggingOptions, используя шестнадцатеричные значения, описанные в таблице
«Значения битовой маски».
Регулирование процессов и сбор статистики процессов управляются независимо друг от
друга несколькими другими свойствами. Для включения сбора статистики процессов
нужно установить свойство CpuEnableLogging (входящее в свойство CpuLoggingMask) в
значение TRUE, а также присвоить значение TRUE по крайней мере одному из остальных
свойств, входящих в CpuLoggingMask. Также необходимо установить по крайней мере
один флаг из набора CpuLoggingOptions, дать ненулевое значение свойству
CpuLoggingInterval_k2_cpulogginginterval и установить соответствующее свойство
(CpuAppEnabled_k2_cpuappenabled или CpuCgiEnabled_k2_cpucgienabled) в значение
TRUE.
Чтобы правильно задействовать регулирование процессов, установите свойство
CpuLimitsEnabled в значение TRUE; также значение TRUE должно иметь по крайней
мере одно из следующих свойств: CpuLimitLogEvent, CpuLimitPriority,
CpuLimitProcStop или CpuLimitPause.
Данное свойство содержит следующие флаги:
CpuEnableAppLogging
CpuEnableAllProcLogging
CpuEnableCgiLogging
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе Тип раздела
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
Информация об объекте IIS Admin Base
В следующих таблицах перечислены дополнительные сведения, которые требуются
только для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе
MD_CPU_LOGGING_OPTIONS
Тип пользователя
IIS_MD_UT_SERVER
Битовая маска по умолчанию
MD_CPU_ENABLE_ALL_PROC_LOGGING
Значения битовой маски
Константа
Значение
Описание
MD_CPU_DISABLE_ALL_LOGGING
0x00000000
Не регистрировать
сведения об
использовании
процессора.
MD_CPU_ENABLE_ALL_PROC_LOGGING 0x00000001
Регистрировать общее
процессорное время,
использованное всеми
приложениями.
MD_CPU_ENABLE_CGI_LOGGING
0x00000002
Регистрировать
процессорное время,
использованное CGIприложениями.
MD_CPU_ENABLE_APP_LOGGING
0x00000004
Регистрировать
процессорное время,
использованное ISAPI- и
ASP-приложениями.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
CpuResetInterval
Это свойство задает период сброса для сбора статистики процессов и регулирования
процессов для сервера или службы. Когда число минут, прошедшее с момента последнего
сброса счетчиков статистики процессов, становится равным числу, заданному в этом
свойстве, IIS сбросит счетчики использования процессорного времени для интервалов
записи и ограничений.
Важно! Чтобы IIS мог заносить в журнал статистику процесса, свойство
CpuLoggingInterval должно иметь значение, меньшее чем значение свойства
CpuResetInterval. Если свойство CpuLoggingInterval имеет большее значение, чем
свойство CpuResetInterval, IIS будет сбрасывать счетчики и таймер журнала до
истечения периода записи в журнал, и статистика процессов сохраняться не будет.
Примечание. Так как средства сбора статистики процессов в IIS для отслеживания
времени, которое процессор тратит на обслуживание данного процесса, используют
объекты Job Windows, то сбор статистики и регулирование возможны только для
приложений, изолированных в процессе, отличном от процесса IIS.
Тип данных
Длинное целое (Long)
Значение по умолчанию
1440 (минут)
(минимальное значение – 1 минута)
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе Тип раздела
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_CPU_RESET_INTERVAL
Тип пользователя
IIS_MD_UT_SERVER
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
CreateCGIWithNewConsole
Это свойство определяет, будет ли CGI-приложение запускаться в своей консоли. Если
свойство имеет значение TRUE, то каждое CGI-приложение при запуске будет создавать
новую консоль. Значение FALSE означает, что CGI-приложения будут запускаться без
консоли.
Тип данных
Логический (Boolean)
Значение по умолчанию FALSE
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
/LM/W3SVC/N/ROOT
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог
IIsWebDirectory
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог/ВебФайл IIsWebFile
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе
MD_CREATE_PROC_NEW_CONSOLE
Тип данных
DWORD_METADATA
Тип пользователя
IIS_MD_UT_FILE
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
CreateProcessAsUser
Это свойство определяет, как будет создаваться CGI-процесс: в контексте системы или в
контексте запрашивающего пользователя.
Тип данных
DWORD
Значение по умолчанию -1
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
/LM/W3SVC/N/ROOT
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог
IIsWebDirectory
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог/ВебФайл IIsWebFile
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе
MD_CREATE_PROCESS_AS_USER
Тип данных
DWORD_METADATA
Тип пользователя
IIS_MD_UT_FILE
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
CustomErrorDescriptions
Это свойство содержит список специальных сообщений об ошибках. Каждая строка в
этом списке определяет код и дополнительный код для специального сообщения об
ошибке; тексты, соответствующие данному коду ошибки и дополнительному коду; а
также то, будет ли данное специальное сообщение поддерживаться файлом и URLадресом, или только лишь файлом. Каждая строка имеет формат КодОшибки,
ДополнительныйКодОшибки, ТекстОшибки, ДополнительныйТекстОшибки, после чего
следует еще одна запятая и либо 0 (поддержка файлом и URL-адресом), либо 1
(поддержка только файлом).
Тип данных
Список (строка)
Значение по умолчанию Пустой список
Наследование
Не наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC/INFO IIsWebInfo
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_CUSTOM_ERROR_DESC
Тип данных
MULTISZ_METADATA
Тип пользователя
IIS_MD_UT_SERVER
См. также
HttpErrors
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
DefaultDoc
Это свойство содержит одно или несколько имен файлов используемых по умолчанию
документов, которые будут возвращены клиенту, если ни одно имя файла не было
включено в клиентский запрос. Документы по умолчанию будут возвращаться, если
свойство EnableDefaultDoc имеет значение TRUE для данного каталога. Данное свойство
может содержать список имен файлов документов по умолчанию, разделенных запятой и
пробелом, например Default1.htm, Default2.htm.
Тип данных
Строка (String)
Значение по умолчанию Default.htm; Default.asp
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
/LM/W3SVC/N/ROOT
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог IIsWebDirectory
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_DEFAULT_LOAD_FILE
Тип пользователя
IIS_MD_UT_FILE
Примечания
Если флаг EnableDefaultDoc в свойстве DirBrowseFlags не установлен, сервер не будет
искать документ по умолчанию.
См. также
DirBrowseFlags
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
DefaultDocFooter
Это значение содержит текст специального нижнего колонтитула, который добавляется в
HTML-файлы и возвращается клиенту (нижний колонтитул не добавляется в ASP-файлы).
Этот колонтитул будет отправляться, только если свойство EnableDocFooter имеет
значение TRUE. Колонтитул может быть строкой, например «Это примечание», или
ссылкой на файл, например «C:\Wwwroot\Footers\Footer.htm».
Тип данных
Строка (String)
Значение по умолчанию Пустая строка
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
/LM/W3SVC/N/ROOT
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог
IIsWebDirectory
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог/ВебФайл IIsWebFile
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_FOOTER_DOCUMENT
Тип пользователя
IIS_MD_UT_FILE
Примечания
Если флаг EnableDefaultDoc в свойстве DirBrowseFlags не установлен, сервер не будет
искать документ по умолчанию.
См. также
EnableDocFooter
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
DefaultLogonDomain
Это свойство задает используемое по умолчанию имя домена для входа. Если это
значение не задано, по умолчанию будет использоваться имя домена, контролируемого
компьютером (если компьютер является контроллером домена). Если же компьютер не
является контроллером домена, в качестве имени домена по умолчанию будет
использоваться имя компьютера.
Тип данных
Строка (String)
Значение по умолчанию Пустая строка
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/MSFTPSVC
IIsFtpService
/LM/MSFTPSVC/N
IIsFtpServer
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
/LM/W3SVC/N/ROOT
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог
IIsWebDirectory
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог/ВебФайл IIsWebFile
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе
MD_DEFAULT_LOGON_DOMAIN
Тип пользователя
IIS_MD_UT_FILE
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
DirBrowseFlags
Это свойство содержит флаги, которые управляют просмотром каталогов, объемом
информации о каталогах и файлах, выдаваемой при разрешенном просмотре каталогов, а
также наличием в каталоге страницы, предлагаемой по умолчанию.
Примечание. Если клиент, обращаясь к каталогу, не указывает имени файла, а флаг
EnableDefaultDoc установлен в значение TRUE, то сервер будет искать файл, указанный в
свойстве DefaultDoc. Если используемый по умолчанию файл в каталоге не существует, а
флаг EnableDirBrowsing имеет значение TRUE, то разрешается просмотр каталога.
Тип данных
Длинное целое (Long)
Значение по умолчанию 1073741886
Наследование
Наследуемое
Данное свойство содержит следующие флаги для просмотра каталогов:
DirBrowseShowDate
DirBrowseShowTime
DirBrowseShowExtension EnableDefaultDoc
DirBrowseShowLongDate EnableDirBrowsing
DirBrowseShowSize
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
/LM/W3SVC/N/ROOT
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог IIsWebDirectory
Информация об объекте IIS Admin Base
В следующих таблицах перечислены дополнительные сведения, которые требуются
только для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе
MD_DIRECTORY_BROWSING
Тип пользователя
IIS_MD_UT_FILE
Битовая маска по умолчанию
MD_DIRBROW_SHOW_DATE
MD_DIRBROW_SHOW_TIME
MD_DIRBROW_SHOW_SIZE
MD_DIRBROW_SHOW_EXTENSION
MD_DIRBROW_LOADDEFAULT
Значение битовой маски по умолчанию
0x4000001E
Значения битовой маски
Константа
Значение
Описание
MD_DIRBROW_SHOW_DATE
0x00000002
Отображать дату.
MD_DIRBROW_SHOW_TIME
0x00000004
Отображать время.
MD_DIRBROW_SHOW_SIZE
0x00000008
Отображать размеры
файлов.
MD_DIRBROW_SHOW_EXTENSION
0x00000010
Отображать расширения
имен файлов.
MD_DIRBROW_LONG_DATE
0x00000020
Отображать полную дату.
MD_DIRBROW_LOADDEFAULT
0x40000000
Загружать страницу по
умолчанию, если она
имеется.
MD_DIRBROW_ENABLED
0x80000000
Разрешить просмотр
каталогов.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
DirBrowseShowDate
Это свойство определяет, будут ли при просмотре каталогов отображаться даты. Свойство
DirBrowseShowDate является одним из флагов, содержащихся в свойстве
DirBrowseFlags.
Тип данных
DWORD
Значение по умолчанию -1
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
/LM/W3SVC/N/ROOT
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог IIsWebDirectory
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Примечание. Это свойство является битовой маской, используемой с идентификатором
MD_DIRECTORY_BROWSING.
Идентификатор свойства в метабазе MD_DIRECTORY_BROWSING
Идентификатор битовой маски
MD_DIRBROW_SHOW_DATE
Тип данных
DWORD_METADATA
Тип пользователя
IIS_MD_UT_FILE
Значение битовой маски
0x00000002
См. также
DirBrowseFlags
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
DirBrowseShowExtension
Это свойство определяет, будут ли при просмотре каталогов отображаться расширения
имен файлов. Свойство DirBrowseShowExtension является одним из флагов,
содержащихся в свойстве DirBrowseFlags.
Тип данных
DWORD
Значение по умолчанию -1
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
/LM/W3SVC/N/ROOT
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог IIsWebDirectory
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Примечание. Это свойство является битовой маской, используемой с идентификатором
MD_DIRECTORY_BROWSING.
Идентификатор свойства в метабазе
MD_DIRECTORY_BROWSING
Идентификатор битовой маски
MD_DIRBROW_SHOW_EXTENSION
Тип данных
DWORD_METADATA
Тип пользователя
IIS_MD_UT_FILE
Значение битовой маски
0x00000010
См. также
DirBrowseFlags
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
DirBrowseShowLongDate
Это свойство определяет, будут ли отображаемые при просмотре каталогов даты
выводиться в расширенном формате. Свойство DirBrowseShowLongDate является одним
из флагов, содержащихся в свойстве DirBrowseFlags.
Тип данных
Логический (Boolean)
Значение по умолчанию FALSE
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
/LM/W3SVC/N/ROOT
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог IIsWebDirectory
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Примечание. Это свойство является битовой маской, используемой с идентификатором
MD_DIRECTORY_BROWSING.
Идентификатор свойства в метабазе MD_DIRECTORY_BROWSING
Идентификатор битовой маски
MD_DIRBROW_LONG_DATE
Тип данных
DWORD_METADATA
Тип пользователя
IIS_MD_UT_FILE
Значение битовой маски
0x00000020
См. также
DirBrowseFlags
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
DirBrowseShowSize
Это свойство определяет, будут ли при просмотре каталогов отображаться размеры
файлов. Свойство DirBrowseShowSize является одним из флагов, содержащихся в
свойстве DirBrowseFlags.
Тип данных
DWORD
Значение по умолчанию -1
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
/LM/W3SVC/N/ROOT
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог IIsWebDirectory
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Примечание. Это свойство является битовой маской, используемой с идентификатором
MD_DIRECTORY_BROWSING.
Идентификатор свойства в метабазе MD_DIRECTORY_BROWSING
Идентификатор битовой маски
MD_DIRBROW_SHOW_SIZE
Тип данных
DWORD_METADATA
Тип пользователя
IIS_MD_UT_FILE
Значение битовой маски
0x00000008
См. также
DirBrowseFlags
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
DirBrowseShowTime
Это свойство определяет, будет ли при просмотре каталогов отображаться время файлов.
Свойство DirBrowseShowTime является одним из флагов, содержащихся в свойстве
DirBrowseFlags.
Тип данных
DWORD
Значение по умолчанию -1
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
/LM/W3SVC/N/ROOT
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог IIsWebDirectory
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Примечание. Это свойство является битовой маской, используемой с идентификатором
MD_DIRECTORY_BROWSING.
Идентификатор свойства в метабазе MD_DIRECTORY_BROWSING
Идентификатор битовой маски
MD_DIRBROW_SHOW_TIME
Тип данных
DWORD_METADATA
Тип пользователя
IIS_MD_UT_FILE
Значение битовой маски
0x00000004
См. также
DirBrowseFlags
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
DirectoryLevelsToScan
Это свойство задает число уровней виртуального каталога в метабазе, просматриваемых
начиная с вершины дерева (то есть, с корневого виртуального каталога сервера) для
создания списка каталогов, которые будут отслеживаться на предмет изменений в файлах.
Допустимый диапазон значений — от 0 до 0xFFFFFFFF (неограничено). Если
виртуальный каталог не включен в список, то при изменении файла в этом каталоге кэш
IIS очищен не будет. Этот список также используется для удаленного администрирования
с использованием более ранних версий IIS.
Тип данных
Длинное целое (Long)
Значение по умолчанию 2
Наследование
Не наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе Тип раздела
/LM/MSFTPSVC IIsFtpService
/LM/W3SVC
IIsWebService
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_LEVELS_TO_SCAN
Тип пользователя
IIS_MD_UT_SERVER
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
DisableSocketPooling
Это свойство определяет, будет ли использоваться группировка соединителей (socket) для
узлов, различаемых по IP-адресам (а, например, не по номеру порта или имени заголовка
узла). Если свойство DisableSocketPooling имеет значение FALSE, то группировка
соединителей включена и соединители будут предоставлены в совместное использование
узлам, использующим один и тот же номер порта (но различные IP-адреса). Если же
DisableSocketPooling имеет значение TRUE, то соединители не будут совместно
использоваться узлами с различными IP-адресами.
Примечание. Группировка портов — это новая возможность в IIS 5.0.
В IIS версии 4.0 каждый веб-узел был связан с определенным уникальным IP-адресом, что
означало, что каждый узел имел собственный соединитель, который не был предоставлен
в общее пользование узлам, связанным с другими IP-адресами. Эти соединители
создаются при запуске узла и могут занимать значительное количество памяти, не
разбиваемой на страницы (RAM). Такое использование памяти ограничивает число
связанных с IP-адресами узлов, которые могут быть созданы на одном компьютере.
По умолчанию группировка соединителей включена. Как правило, это свойство не
следует изменять. В случае необходимости изменять это свойство следует только на
уровне узла, чтобы другие узлы могли продолжать пользоваться преимуществами
группировки соединителей.
Тип данных
Логический (Boolean)
Значение по умолчанию FALSE
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/MSFTPSVC
IIsFtpService
/LM/MSFTPSVC/N IIsFtpServer
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе
MD_DISABLE_SOCKET_POOLING
Значение по умолчанию
DWORD_METADATA
Тип пользователя
IIS_MD_UT_SERVER
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
DontLog
Это свойство определяет, будут ли записываться в журнал запросы клиентов. По
умолчанию (FALSE) запросы записываются в журнал. Чтобы отключить занесение
запросов в журнал, установите это свойство в значение TRUE.
Тип данных
Логический (Boolean)
Значение по умолчанию FALSE
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/MSFTPSVC
IIsFtpService
/LM/MSFTPSVC/N
IIsFtpServer
/LM/MSFTPSVC/N/ROOT
IIsFtpVirtualDir
/LM/MSFTPSVC/N/ROOT/ВиртуальныйFtpКаталог
IIsFtpVirtualDir
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
/LM/W3SVC/N/ROOT
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог
IIsWebDirectory
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог/ВебФайл IIsWebFile
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_DONT_LOG
Значение по умолчанию
DWORD_METADATA
Тип пользователя
IIS_MD_UT_FILE
См. также
LogType
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
EnableDefaultDoc
Это свойство определяет, будет ли при просмотре каталога загружаться документ по
умолчанию (заданный в свойстве DefaultDoc) этого каталога. Свойство EnableDefaultDoc
является одним из флагов, содержащихся в свойстве DirBrowseFlags.
Тип данных
DWORD
Значение по умолчанию -1
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
/LM/W3SVC/N/ROOT
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог IIsWebDirectory
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Примечание. Это свойство является битовой маской, используемой с идентификатором
MD_DIRECTORY_BROWSING.
Идентификатор свойства в метабазе MD_DIRECTORY_BROWSING
Идентификатор битовой маски
MD_DIRBROW_LOADDEFAULT
Тип данных
DWORD_METADATA
Тип пользователя
IIS_MD_UT_FILE
Значение битовой маски
0x40000000
См. также
DirBrowseFlags
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
EnableDirBrowsing
Это свойство разрешает или запрещает просмотр каталогов. Свойство EnableDirBrowsing
является одним из флагов, содержащихся в свойстве DirBrowseFlags.
Тип данных
Логический (Boolean)
Значение по умолчанию FALSE
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
/LM/W3SVC/N/ROOT
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог IIsWebDirectory
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Примечание. Это свойство является битовой маской, используемой с идентификатором
MD_DIRECTORY_BROWSING.
Идентификатор свойства в метабазе MD_DIRECTORY_BROWSING
Идентификатор битовой маски
MD_DIRBROW_ENABLED
Тип данных
DWORD_METADATA
Тип пользователя
IIS_MD_UT_FILE
Metabase bitmask value
0x80000000
См. также
DirBrowseFlags
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
EnableDocFooter
Это свойство включает или отключает вывод примечаний файлов, заданных в свойстве
DefaultDocFooter. Отключение вывода примечаний позволит несколько повысить
производительность.
Тип данных
Логический (Boolean)
Значение по умолчанию FALSE
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
/LM/W3SVC/N/ROOT
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог
IIsWebDirectory
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог/ВебФайл IIsWebFile
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_FOOTER_ENABLED
Тип данных
DWORD_METADATA
Тип пользователя
IIS_MD_UT_FILE
См. также
DefaultDocFooter
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
EnableReverseDns
Это свойство включает или отключает возможность обратного поиска на Domain Name
Server (DNS) (обратным поиском называется определение имени домена по IP-адресу).
Обратный поиск на DNS может существенно загружать ресурсы и занимать значительное
время.
Тип данных
Логический (Boolean)
Значение по умолчанию FALSE
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
/LM/W3SVC/N/ROOT
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог
IIsWebDirectory
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог/ВебФайл IIsWebFile
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_DO_REVERSE_DNS
Тип данных
DWORD_METADATA
Тип пользователя
IIS_MD_UT_FILE
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
ExitMessage
Это свойство задает текст сообщения, которое FTP-сервер отправляет клиенту, когда тот
выполняет команду quit.
Тип данных
Строка (String)
Значение по умолчанию Пустая строка
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/MSFTPSVC
IIsFtpService
/LM/MSFTPSVC/N IIsFtpServer
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_EXIT_MESSAGE
Тип пользователя
IIS_MD_UT_SERVER
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
FilterDescription
Это свойство содержит строку, служащую в качестве описания соответствующего
фильтра.
Тип данных
Строка (String)
Значение по умолчанию Пустое
Наследование
Не наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC/Filters/Фильтр
IIsFilter
/LM/W3SVC/N/Filters/Фильтр IIsFilter
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_FILTER_DESCRIPTION
Тип пользователя
IIS_MD_UT_SERVER
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
FilterEnabled
Это свойство определяет, включен ли данный фильтр.
Тип данных
DWORD
Значение по умолчанию -1
Наследование
Не наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC/Filters/Фильтр
IIsFilter
/LM/W3SVC/N/Filters/Фильтр IIsFilter
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_FILTER_ENABLED
Тип пользователя
IIS_MD_UT_SERVER
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
FilterFlags
Это свойство содержит флаги, показывающие, на уведомление о какие событиях настроен
ISAPI-фильтр. Это свойство, как и все входящие в него флаги, следует рассматривать как
доступное только для чтения. Дополнительные сведения см. в разделе Developing ISAPI
Filters @@пакета SDK операционной системы.
Свойство FilterFlags содержит следующие флаги:
NotifyAccessDenied
NotifyNonSecurePort
NotifyReadRawData
NotifyAuthentication
NotifyOrderHigh
NotifySecurePort
NotifyEndOfNetSession NotifyOrderLow
NotifySendRawData
NotifyEndOfRequest
NotifyOrderMedium
NotifySendResponse
NotifyLog
NotifyPreProcHeaders
NotifyUrlMap
Тип данных
Длинное целое (Long)
Значение по умолчанию Не задано
Наследование
Не наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC/Filters/Фильтр
IIsFilter
/LM/W3SVC/N/Filters/Фильтр IIsFilter
Информация об объекте IIS Admin Base
В следующих таблицах перечислены дополнительные сведения, которые требуются
только для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_FILTER_FLAGS
Тип пользователя
IIS_MD_UT_SERVER
Битовая маска по умолчанию
Не задана
Значения битовой маски
Константа
Значение
Описание
MD_NOTIFY_SECURE_PORT
0x00000001
Уведомлять только о
защищенных портах.
MD_NOTIFY_NONSECURE_PORT
0x00000002
Уведомлять только о
незащищенных портах.
MD_NOTIFY_READ_RAW_DATA
0x00008000
Уведомлять при
считывании
необработанных данных.
MD_NOTIFY_PREPROC_HEADERS
0x00004000
Уведомлять о
предварительной обработке
заголовков.
MD_NOTIFY_AUTHENTICATION
0x00002000
Notify if performing
authentication.
MD_NOTIFY_URL_MAP
0x00001000
Уведомлять о
сопоставлении URL
физическому пути.
MD_NOTIFY_ACCESS_DENIED
0x00000800
Уведомлять о
необходимости отправить
клиенту сообщение об
ошибке HTTP 401.
MD_NOTIFY_SEND_RESPONSE
0x00000040
Уведомлять об отправке
ответа клиенту.
MD_NOTIFY_SEND_RAW_DATA
0x00000400
Уведомлять об отправке
необработанных данных.
MD_NOTIFY_LOG
0x00000200
Уведомлять о выполнении
записи в журнал.
MD_NOTIFY_END_OF_REQUEST
0x00000080
Уведомлять о завершении
запроса.
MD_NOTIFY_END_OF_NET_SESSION
0x00000100
Уведомлять о завершении
сетевого сеанса.
MD_NOTIFY_ORDER_HIGH
0x00080000
Высокий приоритет для
уведомлений.
MD_NOTIFY_ORDER_MEDIUM
0x00040000
Средний приоритет для
уведомлений.
MD_NOTIFY_ORDER_LOW,
MD_NOTIFY_ORDER_DEFAULT
0x00020000
Низкий приоритет для
уведомлений.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
FilterLoadOrder
Это свойство, содержащее список с разделяемыми запятыми элементами, задает порядок,
в котором должны загружаться фильтры, например Фильтр1, Фильтр2, и т.д.
Тип данных
Строка (String)
Значение по умолчанию Пустая строка
Наследование
Не наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC/Filters/Фильтр
IIsFilter
/LM/W3SVC/N/Filters/Фильтр IIsFilter
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_FILTER_LOAD_ORDER
Тип пользователя
IIS_MD_UT_SERVER
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
FilterPath
Это свойство задает полный путь к библиотеке DLL фильтра, например
C:\Wwwroot\Bin\Filter.dll.
Тип данных
Строка (String)
Значение по умолчанию Пустое
Наследование
Не наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC/Filters/Фильтр
IIsFilter
/LM/W3SVC/N/Filters/Фильтр IIsFilter
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_FILTER_IMAGE_PATH
Тип пользователя
IIS_MD_UT_SERVER
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
FilterState
Это свойство сообщает о том, загружен фильтр (значение 1) или нет (значение 4). Это
свойство доступно только для чтения.
Тип данных
Длинное целое (Long)
Значение по умолчанию Не задано
Возможные значения
1 или 4
Наследование
Не наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC/Filters/Фильтр
IIsFilter
/LM/W3SVC/N/Filters/Фильтр IIsFilter
Информация об объекте IIS Admin Base
В следующих таблицах перечислены дополнительные сведения, которые требуются
только для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_FILTER_STATE
Тип пользователя
IIS_MD_UT_SERVER
Значения битовой маски
Константа
Значение
Описание
MD_FILTER_STATE_LOADED
0x00000001 Фильтр загружен.
MD_FILTER_STATE_UNLOADED
0x00000004 Фильтр выгружен.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
FrontPageWeb
Это свойство показывает, будет ли данный экземпляр сервера нацелен на работу с
Microsoft® FrontPage®. Установка этого свойства в значение TRUE заставит диспетчер
FrontPage создавать файлы, необходимые для серверных расширений FrontPage.
Присваивание данному свойству значения FALSE приведет к удалению этих файлов.
Тип данных
Логический (Boolean)
Значение по умолчанию FALSE
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC/N
IIsWebServer
/LM/W3SVC/N/ROOT
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог IIsWebDirectory
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_FRONTPAGE_WEB
Значение по умолчанию
DWORD_METADATA
Тип пользователя
IIS_MD_UT_SERVER
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
FtpDirBrowseShowLongDate
Это свойство определяет число цифр (две или четыре), которыми отображается год при
просмотре каталогов.
Примечание. Свойство MSDOSDirOutput разрешает просмотр каталога в стиле UNIX.
Если оно имеет значение FALSE, свойство FtpDirBrowseShowLongDate не учитывается.
Оно действительно, только если вывод каталогов осуществляется в стиле MS-DOS®
(MSDOSDirOutput = TRUE).
Тип данных
Логический (Boolean)
Значение по умолчанию FALSE
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/MSFTPSVC
IIsFtpService
/LM/MSFTPSVC/N
IIsFtpServer
/LM/MSFTPSVC/N/ROOT
IIsFtpVirtualDir
/LM/MSFTPSVC/N/ROOT/ВиртуальныйFtpКаталог IIsFtpVirtualDir
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_SHOW_4_DIGIT_YEAR
Значение по умолчанию
DWORD_METADATA
Тип пользователя
IIS_MD_UT_FILE
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
GreetingMessage
Это свойство задает приветственное сообщение (состоящее из нескольких строк), которое
FTP-сервер может отправлять новым клиентам.
Тип данных
Список (строка)
Значение по умолчанию Пустой список
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/MSFTPSVC
IIsFtpService
/LM/MSFTPSVC/N IIsFtpServer
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_GREETING_MESSAGE
Тип данных
MULTISZ_METADATA
Тип пользователя
IIS_MD_UT_SERVER
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
HcCacheControlHeader
Это свойство задает директиву, которую IIS добавит в заголовок управления кэшем
Cache-Control. Это заголовок, вместе с заголовком Expires, задаваемым свойством
HcExpiresHeader, отправляется с каждым сжатым файлом, отправляемым клиентскому
обозревателю.
Это свойство задает заголовок, который замещает заголовок HTTP Expires, определяемый
свойством HcExpiresHeader, и включается для того, чтобы старые клиенты и проксисерверы не пытались кэшировать сжатые файлы.
Ни заголовок, заданный в свойстве HcCacheControlHeader, ни заголовок, определенный
свойством HcExpiresHeader, не будут отправляться клиенту, если свойство
HcSendCacheHeaders имеет значение FALSE.
Для вступления в силу изменений этого свойства веб-служба должна быть перезапущена.
Тип данных
Строка (String)
Значение по умолчанию max-age=86400
Наследование
Не наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC/Filters/Compression/Parameters IIsCompressionSchemes
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе
MD_HC_CACHE_CONTROL_HEADER
Тип пользователя
IIS_MD_UT_SERVER
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
HcCompressionBufferSize
Это свойство задает размер буфера (в байтах), который IIS использует для получения
сжатых данных. Этот буфер используется как для сжатия по требованию статического
содержимого, так и для сжатия динамического содержимого. Большой буфер повышает
быстродействие операции сжатия, но занимает больше оперативной памяти.
Буфер указанного в свойстве HcCompressionBufferSize размера IIS используется, только
если свойство HcDoOnDemandCompression или HcDoDynamicCompression имеет
значение TRUE. Максимально допустимый размер буфера — 1 048 576 байт (1 Мбайт).
Для вступления в силу изменений этого свойства веб-служба должна быть перезапущена.
Тип данных
Длинное целое (Long)
Значение по умолчанию 8192 (байт)
Наследование
Не наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC/Filters/Compression/Parameters IIsCompressionSchemes
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе
MD_HC_COMPRESSION_BUFFER_SIZE
Тип пользователя
IIS_MD_UT_SERVER
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
HcCompressionDirectory
Это свойство определяет каталог, в котором временно кэшируются сжатые версии
статических файлов. Если для IIS включено сжатие, то каждый раз, когда IIS получает
запрос на статический файл (например на файл HTM или TXT), сервер ищет в этом
каталоге уже сжатую версию запрашиваемого статического файла.
Чтобы заставить IIS заново сжать все отправляемые статические файлы, удалите все
файлы, находящиеся в каталоге сжатия, заданном в свойстве HcCompressionDirectory.
Важно! Настоятельно рекомендуется, чтобы каталог, задаваемый в свойстве
HcCompressionDirectory, был расположен на томе NTFS, а не FAT. Если запрошенный
файл находится на разделе NTFS, а свойство HcCompressionDirectory указывает на
раздел FAT, IIS не будет выполнять сжатие HTTP для этого файла. Это объясняется
некоторыми различиями между разделами FAT и NTFS, в том числе различиями в
механизмах отметки времени и контроля доступа. Кроме того, NTFS более эффективно,
чем FAT, обрабатывает каталоги, содержащие большое число файлов.
Тип данных
Строка (с подстановкой)
Значение по умолчанию
%windir%\IIS Temporary Compressed Files
Наследование
Не наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC/Filters/Compression/Parameters IIsCompressionSchemes
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе
MD_HC_COMPRESSION_DIRECTORY
Тип данных
EXPANDSZ_METADATA
Тип пользователя
IIS_MD_UT_SERVER
См. также
HcDoOnDemandCompression
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
HcCompressionDll
Это свойство содержит полностью заданный путь файловой системы и имя файла DLLбиблиотеки сжатия для используемого метода сжатия.
Для вступления в силу изменений этого свойства веб-служба должна быть перезапущена.
Тип данных
Строка (с подстановкой)
Значение по умолчанию
%windir%\system32\inetsrv\НазваниеМетода.dll
Наследование
Не наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
LM/W3SVC/Filters/Compression/Scheme IIsCompressionScheme
LM/W3SVC/Filters/Compression/Gzip
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_HC_COMPRESSION_DLL
Тип данных
EXPANDSZ_METADATA
Тип пользователя
IIS_MD_UT_SERVER
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
HcCreateFlags
Это свойство зарезервировано для будущих нужд.
Тип данных
Длинное целое (Long)
Наследование
Не наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующем разделе метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC/Filters/Compression/Scheme IIsCompressionScheme
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_HC_CREATE_FLAGS
Тип пользователя
IIS_MD_UT_SERVER
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
HcDoDiskSpaceLimiting
Это свойство метабазы позволяет ограничить объем дискового пространства, отводимого
под сжатые файлы (хранящиеся в каталоге сжатия, заданном в свойстве
HcCompressionDirectory). Если это свойство имеет значение TRUE, IIS не будет отводить
под сжатые файлы больше места, чем определено в свойстве HcMaxDiskSpaceUsage. По
достижении этого предела сжатые файлы удаляются из каталога сжатия по принципу
наиболее давно использовавшихся (LRU). Если свойство HcDoDiskSpaceLimiting имеет
значение FALSE, то IIS не накладывает никаких ограничений на объем диска, занимаемый
файлами из каталога сжатия.
Примечание. Ограничение на использование дискового пространства может сильно
повлиять на быстродействие, так как проверка этого ограничения требует
дополнительных затрат ресурсов. Используйте эту возможность только при
необходимости.
Свойство HcDoDiskSpaceLimiting действует только при установленном в значение TRUE
свойстве HcDoOnDemandCompression.
Тип данных
Логический (Boolean)
Значение по умолчанию FALSE
Наследование
Не наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующем разделе метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC/Filters/Compression/Parameters IIsCompressionSchemes
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе
MD_HC_DO_DISK_SPACE_LIMITING
Тип данных
DWORD_METADATA
Тип пользователя
IIS_MD_UT_SERVER
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
HcDoDynamicCompression
Это свойство метабазы определяет, будут ли сжиматься ответы на запросы динамического
содержимого, например, вывод сценариев ASP и ISAPI-расширений. На глобальном
уровне свойство HcDoDynamicCompression включает сжатие всего запрашиваемого
динамического содержимого.
Для отдельных методов сжатия свойство HcDoDynamicCompression определяет,
поддерживает ли данный метод сжатие динамического содержимого.
Важно! Так как динамическое содержимое по определению изменчиво, IIS не кэширует
сжатые версии динамической информации. Поэтому при включенном сжатии
динамического содержимого каждый ответ на запрос динамического содержимого будет
сжиматься. Сжатие динамического содержимого требует значительных затрат
процессорного времени и памяти, и его следует использовать только на серверах, у
которых сравнительно медленные сети, но есть свободные ресурсы процессора.
Так как свойство HcDoDynamicCompression не наследуется, то чтобы включить сжатие
динамического содержимого на сервере, нужно установить это свойство в значение TRUE
как на глобальном уровне, так и на уровне отдельного метода сжатия.
Для вступления в силу изменений, внесенных в это свойство на уровне отдельного метода
сжатия, нужно перезапустить веб-службу.
Тип данных
Логический (Boolean)
Значение по умолчанию FALSE
Наследование
Не наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC/Filters/Compression/Parameters IIsCompressionSchemes
/LM/W3SVC/Filters/Compression/Метод
IIsCompressionScheme
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе
MD_HC_DO_DYNAMIC_COMPRESSION
Тип данных
DWORD_METADATA
Тип пользователя
IIS_MD_UT_SERVER
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
HcDoOnDemandCompression
Это свойство определяет, будут ли статические файлы, такие как HTM и TXT, сжиматься
при отсутствии в каталоге, заданном в свойстве HcCompressionDirectory, сжатых версий
этих файлов.
Если это свойство на глобальном уровне имеет значение TRUE и IIS получает запрос на
статическое содержимое, IIS проверит каталог сжатия. Если соответствующая сжатая
копия этого файла не обнаружена, IIS отправит клиентскому обозревателю несжатую
версию запрошенного файла, одновременно сжимая ее в фоновом потоке. Только что
созданный сжатый файл будет сохранен в каталоге сжатия, и все последующие ответы на
запросы этого статического файла будут включать эту сжатую копию.
Если свойство HcDoOnDemandCompression на глобальном уровне имеет значение
FALSE, то IIS не будет сжимать файлы статического содержимого, сжатые версии
которых отсутствуют в каталоге сжатия. Другими словами, если в этом каталоге не будет
обнаружена сжатая версия запрашиваемого статического файла, то будет возвращена его
несжатая версия.
На уровне отдельного метода сжатия свойство HcDoOnDemandCompression определяет,
поддерживает ли данный метод сжатие статического содержимого по запросу.
Так как свойство HcDoOnDemandCompression не наследуется, то чтобы включить на
сервере сжатие статического содержимого по запросу, нужно установить это свойство в
значение TRUE как на глобальном уровне, так и на уровне отдельного метода сжатия.
Для вступления в силу изменений, внесенных в это свойство на уровне отдельного метода
сжатия, нужно перезапустить веб-службу.
Тип данных
Логический (Boolean)
Значение по умолчанию TRUE
Наследование
Не наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC/Filters/Compression/Parameters IIsCompressionSchemes
/LM/W3SVC/Filters/Compression/Метод
IIsCompressionScheme
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе
MD_HC_DO_ON_DEMAND_COMPRESSION
Тип данных
DWORD_METADATA
Тип пользователя
IIS_MD_UT_SERVER
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
HcDoStaticCompression
Это свойство определяет, будет ли IIS сжимать ответы на запросы статического
содержимого. На глобальном уровне свойство HcDoStaticCompression определяет, что
при получении запроса статического содержимого (например файлов HTM и TXT) IIS
будет сначала проверять каталог сжатия, заданный в свойстве HcCompressionDirectory.
Если в этом каталоге будет найдена сжатая версия этого статического файла, она будет
отправлена клиентскому обозревателю. В противном случае, если включено сжатие по
запросу (свойство HcDoOnDemandCompression) IIS отправит запрошенный файл в
несжатом виде и добавит этот файл в очередь фонового сжатия.
На уровне отдельного метода сжатия свойство HcDoStaticCompression определяет,
поддерживает ли данный метод сжатие статического содержимого.
Так как свойство HcDoStaticCompression не наследуется, то чтобы включить на сервере
сжатие статического содержимого, нужно установить это свойство в значение TRUE как
на глобальном уровне, так и на уровне отдельного метода сжатия.
Для вступления в силу изменений, внесенных в это свойство на уровне отдельного метода
сжатия, нужно перезапустить веб-службу.
Тип данных
Логический (Boolean)
Значение по умолчанию TRUE
Наследование
Не наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC/Filters/Compression/Parameters IIsCompressionSchemes
/LM/W3SVC/Filters/Compression/Метод
IIsCompressionScheme
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе
MD_HC_DO_STATIC_COMPRESSION
Тип данных
DWORD_METADATA
Тип пользователя
IIS_MD_UT_SERVER
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
HcDynamicCompressionLevel
Это свойство задает степень сжатия динамического содержимого, используемую данным
методом сжатия. Использование слабых степеней сжатия приводит к созданию немного
больших по размеру сжатых файлов, но зато при этом тратится меньше ресурсов
процессора и памяти. Результатом более сильного сжатия обычно являются меньшие
файлы, для создания которых используется больше ресурсов процессора и памяти.
Для вступления в силу изменений этого свойства веб-служба должна быть перезапущена.
Тип данных
Длинное целое (Long)
Значение по умолчанию 0 (диапазон 0-10)
Наследование
Не наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующем разделе метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC/Filters/Compression/Метод IIsCompressionScheme
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе
MD_HC_DYNAMIC_COMPRESSION_LEVEL
Тип пользователя
IIS_MD_UT_SERVER
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
HcExpiresHeader
Это свойство определяет содержимое заголовка HTTP Expires, отправляемого со всеми
запрошенными сжатыми файлами вместе с заголовком Cache-Control (см. описание
свойства HcCacheControlHeader).
Комбинация свойств HcExpiresHeader и HcCacheControlHeader гарантирует, что старые
клиенты и прокси-серверы не будут пытаться кэшировать сжатые файлы.
Ни заголовок, заданный в свойстве HcCacheControlHeader, ни заголовок, определенный
свойством HcExpiresHeader, не будут отправляться клиенту, если свойство
HcSendCacheHeaders имеет значение FALSE.
Для вступления в силу изменений этого свойства веб-служба должна быть перезапущена.
Тип данных
Строка (String)
Значение по умолчанию
Wed, 01 Jan 1997 12:00:00 GMT
Наследование
Не наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC/Filters/Compression/Parameters IIsCompressionSchemes
/LM/W3SVC/Filters/Compression/Метод
IIsCompressionScheme
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_HC_EXPIRES_HEADER
Тип данных
DWORD_METADATA
Тип пользователя
IIS_MD_UT_SERVER
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
HcFileExtensions
Это свойство метабазы определяет, какие расширения имен файлов поддерживаются
данным методом сжатия. IIS будет сжимать только те статические файлы, расширения
которых указаны в этом свойстве. Если значение этого параметра не установлено,
статические файлы не сжимаются.
Для того, чтобы сжатие выполнялось, кроме совпадения расширений имен файлов
должны иметь значение TRUE свойства HcDoOnDemandCompression и
HcDoStaticCompression.
Для вступления в силу изменений этого свойства веб-служба должна быть перезапущена.
Тип данных
Список (строка)
Значение по умолчанию htm, html, txt
Наследование
Не наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC/Filters/Compression/Метод IIsCompressionScheme
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_HC_FILE_EXTENSIONS
Тип данных
MULTISZ_METADATA
Тип пользователя
IIS_MD_UT_SERVER
См. также
HcScriptFileExtensions
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
HcFilesDeletedPerDiskFree
Это свойство метабазы определяет количество сжатых файлов, которые будут удалены из
каталога сжатия, если IIS обнаружит, что размер этого каталога начинает выходить за
разрешенный предел. IIS удалит указанное в этом свойстве количество файлов, начиная с
использовавшихся наиболее давно.
Свойство HcFilesDeletedPerDiskFree действует, только если значением свойства
HcDoDiskSpaceLimiting является TRUE, а свойство HcMaxDiskSpaceUsage имеет
значение, отличное от 0xFFFFFFFF (неограничено). Максимально допустимое значение
свойства HcFilesDeletedPerDiskFree равно 1024.
Тип данных
Длинное целое (Long)
Значение по умолчанию 256
Наследование
Не наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующем разделе метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC/Filters/Compression/Parameters IIsCompressionSchemes
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе
MD_HC_FILES_DELETED_PER_DISK_FREE
Тип пользователя
IIS_MD_UT_SERVER
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
HcIoBufferSize
Это свойство задает размер буфера (в байтах), который IIS использует для чтения
несжатых файлов. Большой буфер повышает быстродействие операции сжатия, но
занимает больше оперативной памяти.
IIS использует значение свойства HcIoBufferSize только в том случае, если свойство
HcDoOnDemandCompression имеет значение TRUE. Максимально допустимое
значение — 1 048 576 байт (1 Мбайт).
Для вступления в силу изменений этого свойства веб-служба должна быть перезапущена.
Тип данных
Длинное целое (Long)
Значение по умолчанию 8192 байта
Наследование
Не наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC/Filters/Compression/Parameters IIsCompressionSchemes
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_HC_IO_BUFFER_SIZE
Тип пользователя
IIS_MD_UT_SERVER
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
HcMaxDiskSpaceUsage
Это свойство определяет, будет ли IIS ограничивать объем дискового пространства,
занимаемый расположенными в каталоге сжатия сжатыми файлами.
IIS будет ограничивать дисковое пространство для каталога сжатия и использовать
значение свойства HcMaxDiskSpaceUsage, только когда свойство
HcDoDiskSpaceLimiting имеет значение TRUE. Если свойство HcMaxDiskSpaceUsage
имеет значение 0xFFFFFFFF, то ограничение на размер каталога сжатия не налагается.
Тип данных
Длинное целое (Long)
Значение по умолчанию 1 000 000 байт
Наследование
Не наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующем разделе метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC/Filters/Compression/Parameters IIsCompressionSchemes
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе
MD_HC_MAX_DISK_SPACE_USAGE
Тип пользователя
IIS_MD_UT_SERVER
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
HcMaxQueueLength
IIS выполняет сжатие статического содержимого по запросу в фоновом режиме. Если при
получении запроса на статический файл IIS не сможет обнаружить в каталоге сжатия
ранее сжатую версию данного файла, этот запрос поступает в простую последовательную
очередь (FIFO). Свойство HcMaxQueueLength задает максимально допустимое число
запросов, которое может принять эта очередь. Если очередь заполнена, все новые запросы
на сжатие будут игнорироваться до тех пор, пока в ней не появится свободное место.
Если свойство HcMaxQueueLength имеет значение 0xFFFFFFFF, то число запросов,
которые могут находиться в этой очереди, не ограничено.
Тип данных
Длинное целое (Long)
Значение по умолчанию 1000
Наследование
Не наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующем разделе метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC/Filters/Compression/Parameters IIsCompressionSchemes
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_HC_MAX_QUEUE_LENGTH
Тип пользователя
IIS_MD_UT_SERVER
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
HcMimeType
Это свойство определяет, какие типы кодирования MIME поддерживаются данным
методом сжатия. IIS будет сжимать только те статические файлы, которые имеют данный
тип кодирования MIME. Если значение свойства пусто, то метод будет поддерживать все
типы кодирования MIME.
Для того, чтобы сжатие выполнялось, кроме совпадения типов MIME должны иметь
значение TRUE свойства HcDoOnDemandCompression и HcDoStaticCompression.
Для вступления в силу изменений этого свойства веб-служба должна быть перезапущена.
Тип данных
Строка (String)
Значение по умолчанию Пустое
Наследование
Не наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующем разделе метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC/Filters/Compression/Метод IIsCompressionScheme
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_HC_MIME_TYPE
Тип данных
STRING_METADATA
Тип пользователя
IIS_MD_UT_SERVER
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
HcMinFileSizeForComp
Это свойство метабазы задает минимальный размер файла (в байтах), который будет
сжиматься при сжатии по запросу. Маленькие файлы плохо сжимаются, а в некоторых
случаях после сжатия размер файла может даже возрасти.
Если свойство HcMinFileSizeForComp имеет значение 0 (ноль), будут сжиматься все
файлы.
Тип данных
Длинное целое (Long)
Значение по умолчанию 1 байт
Наследование
Не наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующем разделе метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC/Filters/Compression/Parameters IIsCompressionSchemes
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе
MD_HC_MIN_FILE_SIZE_FOR_COMP
Тип данных
DWORD_METADATA
Тип пользователя
IIS_MD_UT_SERVER
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
HcNoCompressionForHttp10
Это свойство предназначено для отключения сжатия для запросов, содержащих номер
версии HTTP 1.0. HTTP 1.0, как описано в документе RFC 1945, обеспечивает
минимальную поддержку некоторых видов сжатия. Вокруг сжатия HTTP 1.0 существует
путаница; это особенно касается прокси-серверов. Чтобы минимизировать вероятность
отправки сжатого файла клиенту, который не сможет его раскодировать, можно
использовать это свойство для отключения сжатия в сомнительных случаях.
Тип данных
Логический (Boolean)
Значение по умолчанию TRUE
Наследование
Не наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующем разделе метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC/Filters/Compression/Parameters IIsCompressionSchemes
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе
MD_HC_NO_COMPRESSION_FOR_HTTP_10
Тип данных
DWORD_METADATA
Тип пользователя
IIS_MD_UT_SERVER
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
HcNoCompressionForProxies
Это свойство позволяет отключить ответы HTTP 1.1 на запросы на сжатие, поступающие
через прокси-серверы. Некоторые прокси-серверы HTTP, в том числе и некоторые из тех,
которые рекламируются как HTTP 1.1-совместимые, не умеют правильно кэшировать
сжатые объекты.
Тип данных
Логический (Boolean)
Значение по умолчанию FALSE
Наследование
Не наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующем разделе метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC/Filters/Compression/Parameters IIsCompressionSchemes
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе
MD_HC_NO_COMPRESSION_FOR_PROXIES
Тип данных
DWORD_METADATA
Тип пользователя
IIS_MD_UT_SERVER
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
HcNoCompressionForRange
Это свойство метабазы определяет, как IIS обрабатывает запросы HTTP Range. В
документе RFC 2068, посвященном HTTP 1.1, описание того, к каким версиям файлов
должны применяться запросы Range — к сжатым или к несжатым, допускает
неоднозначное толкование. Вполне вероятно, что некоторые обозреватели могут быть не
рассчитаны на прием сжатых ответов Range. Поэтому чтобы избежать сбоев таких
обозревателей, IIS по умолчанию не отправляет сжатые ответы на запросы Range.
Тип данных
Логический (Boolean)
Значение по умолчанию TRUE
Наследование
Не наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующем разделе метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC/Filters/Compression/Parameters IIsCompressionSchemes
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе
MD_HC_NO_COMPRESSION_FOR_RANGE
Тип данных
DWORD_METADATA
Тип пользователя
IIS_MD_UT_SERVER
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
HcOnDemandCompLevel
Это свойство задает степень сжатия статического содержимого по запросу, используемую
данным методом сжатия. Использование слабых степеней сжатия приводит к созданию
немного больших по размеру сжатых файлов, но зато при этом тратится меньше ресурсов
процессора и памяти. Результатом более сильного сжатия обычно являются меньшие
файлы, для создания которых используется больше ресурсов процессора и памяти.
Допустимые значения степени сжатия — от 1 до 10.
Для вступления в силу изменений этого свойства веб-служба должна быть перезапущена.
Тип данных
Длинное целое (Long)
Значение по умолчанию 10
Наследование
Не наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующем разделе метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC/Filters/Compression/Scheme IIsCompressionScheme
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе
MD_HC_ON_DEMAND_COMP_LEVEL
Тип данных
DWORD_METADATA
Тип пользователя
IIS_MD_UT_SERVER
См. также
HcDynamicCompressionLevel
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
HcPriority
Это свойство определяет приоритет данного метода сжатия. Если в IIS установлено
несколько методов сжатия, а обозреватель клиента сообщает (в заголовке AcceptEncoding), что он может работать с несколькими методами сжатия, IIS использует
значения приоритетов, заданные в свойстве HcPriority, чтобы определить метод, который
нужно использовать для данного запроса. В таком случае IIS будет использовать
подходящий метод, имеющий наивысший приоритет.
Значения приоритетов должны находиться в диапазоне от 1 до 10. Обычно при наличии в
IIS нескольких установленных методов сжатия им всем следует присваивать различные
значения приоритетов.
Для вступления в силу изменений этого свойства веб-служба должна быть перезапущена.
Тип данных
Длинное целое (Long)
Значение по умолчанию 1
Наследование
Не наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующем разделе метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC/Filters/Compression/Scheme IIsCompressionScheme
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_HC_PRIORITY
Тип пользователя
IIS_MD_UT_SERVER
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
HcSendCacheHeaders
Это свойство определяет, должны ли заголовки, заданные в свойствах
HcCacheControlHeader и HcExpiresHeader, отправляться с каждым сжатым ответом.
Если это свойство имеет значение TRUE, то заголовки Cache-Control и Expires будут
отправляться со всеми сжатыми ответами. Если же значением свойства является FALSE,
будет отправляться только заголовок HTTP 1.1 Vary.
Важно! В общем случае, заголовки HTTP Cache-Control и Expires включаются в сжатые
ответы для предотвращения неправильного кэширования сжатых файлов, что особенно
вероятно в прокси-серверах и старых обозревателях. Если эти заголовки будут
отключены, рекомендуется также установить свойства HcNoCompressionForProxies и
HcNoCompressionForHttp10 в значение TRUE.
Тип данных
Логический (Boolean)
Значение по умолчанию TRUE
Наследование
Не наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующем разделе метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC/Filters/Compression/Parameters IIsCompressionSchemes
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе
MD_HC_SEND_CACHE_HEADERS
Тип данных
DWORD_METADATA
Тип пользователя
IIS_MD_UT_SERVER
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
HcScriptFileExtensions
Это свойство метабазы определяет, какие расширения имен файлов поддерживаются
данным методом сжатия. IIS будет сжимать результаты выполнения только тех
динамических файлов, расширения которых указаны в этом свойстве.
Важно! Пустая строка в качестве значения этого свойства может снизить
производительность сервера.
Если этот параметр пуст, все динамические страницы отправляются сжатыми. Кроме того,
все типы статических файлов, не указаддые в свойстве HcFileExtensions, также
динамически сжимаются и, следовательно, не кэшируются.
Для того, чтобы выполнялось динамическое сжатие, нужно также установить в значение
TRUE свойство HcDoDynamicCompression.
Для вступления в силу изменений этого свойства веб-служба должна быть перезапущена.
Тип данных
Список (строка)
Значение по умолчанию dll, asp, exe
Наследование
Не наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC/Filters/Compression/Метод IIsCompressionScheme
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе
MD_HC_SCRIPT_FILE_EXTENSIONS
Тип данных
MULTISZ_METADATA
Тип пользователя
IIS_MD_UT_SERVER
См. также
HcFileExtensions
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
HttpCustomHeaders
Это свойство метабазы определяет специальные заголовки, которые отправляются
клиенту в дополнение к стандартному заголовку файла HTML. Каждая строка этого
свойства представляет собой пару «параметр-значение»: ИмяПараметра: Значение.
Тип данных
Список (строка)
Значение по умолчанию Пустой список
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
/LM/W3SVC/N/ROOT
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог
IIsWebDirectory
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог/ВебФайл IIsWebFile
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_HTTP_CUSTOM
Тип данных
MULTISZ_METADATA
Тип пользователя
IIS_MD_UT_FILE
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
HttpErrors
Это свойство метабазы определяет строку специального сообщения об ошибке, которая
отправляется клиенту при возникновении ошибок HTTP 1.1. Каждая строка в этом списке
определяет основной и дополнительный коды ошибки HTTP, указывает тип обработчика
этой ошибки (URL или файл) и URL или файл, отправляемый клиенту. Каждая строка в
этом списке может быть задана в формате URL или файла.
Для отправки клиенту URL-адреса, используйте формат КодОшибкиHTTP,
ДополнительныйКодОшибкиHTTP, URL, URL_обработчика. Для отправки файла служит
следующий формат: КодОшибкиHTTP, ДополнительныйКодОшибкиHTTP, FILE,
ИмяФайла.
Тип данных
Список (строка)
Значение по умолчанию Пустой список
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
/LM/W3SVC/N/ROOT
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог
IIsWebDirectory
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог/ВебФайл IIsWebFile
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_HTTP_ERRORS
Тип данных
MULTISZ_METADATA
Тип пользователя
IIS_MD_UT_FILE
См. также
CustomErrorDescriptions
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
HttpExpires
Это свойство метабазы служит для ограничения срока действия документов HTML с
помощью возвращаемых веб-обозревателю значений в заголовке файла HTML. В вебобозревателе значение этого свойства сравнивается с текущей датой, после чего либо
отображается кэшированная страница, либо с сервера запрашивается обновленная
страница. Это свойство можно сделать относительным, или динамическим, используя
формат D,#СекундДоИстечения (значение 0xFFFFFFFF обозначает отсутствие
ограничений). Оно также может быть и абсолютным, в формате
S,ДопустимаяСтрокаВремениGMT.
Тип данных
Строка (String)
Значение по умолчанию D,0x15180
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
/LM/W3SVC/N/ROOT
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог
IIsWebDirectory
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог/ВебФайл IIsWebFile
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_HTTP_EXPIRES
Тип данных
STRING_METADATA
Тип пользователя
IIS_MD_UT_FILE
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
HttpPics
Это свойство метабазы задает рейтинговый заголовок платформы для отбора содержимого
Интернета (PICS) консорциума World Wide Web (W3C). Дополнительные сведения о PICS
см. на веб-узле World Wide Web Consortium.
Тип данных
Список (строка)
Значение по умолчанию Пустой список
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
/LM/W3SVC/N/ROOT
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог
IIsWebDirectory
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог/ВебФайл IIsWebFile
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_HTTP_PICS
Тип данных
MULTISZ_METADATA
Тип пользователя
IIS_MD_UT_FILE
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
HttpRedirect
Это свойство метабазы задает каталог или URL-адрес, на который перенаправляется
клиент, пытающийся получить доступ к конкретному ресурсу. Значение этого свойства
может быть двух видов.
Первый, простой, формат имеет вид Адрес, Флаг, где Адрес содержит URL или
виртуальный путь к файлу. Флаг может иметь одно из трех значений:
EXACT_DESTINATION показывает, что значение, задаваемое в аргументе Адрес, следует
рассматривать как абсолютный указатель на местонахождение ресурса; CHILD_ONLY
указывает, что это значение следует добавить перед именем файла в перенаправляемом
запросе; PERMANENT означает, что данное переназначение для этого ресурса будет
постоянным.
Более сложная форма спецификации этого свойства использует подстановочные знаки.
Она имеет следующий формат: *; ПодстановочныйЗнак1; Адрес1;
ПодстановочныйЗнак2; Адрес2, Флаг. Каждая пара ПодстановочныйЗнак; Адрес
определяет, что запросы, соответствующие шаблону, перенаправляются на указанный
адрес. Флаг может иметь те же значения, что и в случае простого формата.
Тип данных
Строка (String)
Значение по умолчанию
Пустая строка (перенаправления не заданы)
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
/LM/W3SVC/N/ROOT
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог
IIsWebDirectory
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог/ВебФайл IIsWebFile
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_HTTP_REDIRECT
Тип данных
STRING_METADATA
Тип пользователя
IIS_MD_UT_FILE
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
InProcessIsapiApps
Это свойство метабазы задает список ISAPI-фильтров и расширений, которые должны
быть запущены в процессе веб-сервера. Строка может иметь формат
ПолныйПуть\Приложение.dll, либо просто Приложение.dll. Библиотеки DLL ISAPI, для
которых не задан путь, будут соответствовать любому запросу ISAPI, содержащему имя
этой библиотеки DLL, независимо от указанного в запросе физического пути.
Например, любая из следующих строк будет правильным значением этого свойства:
«D:\winnt\system32\inetsrv\ssinc.dll», «D:\winnt\system32\inetsrv\httpodbc.dll», «author.dll»,
«shtml.dll», «admin.dll».
Тип данных
Список (строка)
Значение по умолчанию idq.dll
httpext.dll
httpodbc.dll
ssinc.dll
msw3prt.dll
author.dll
admin.dll
shtml.dll
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе Тип раздела
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_IN_PROCESS_ISAPI_APPS
Тип данных
MULTISZ_METADATA
Тип пользователя
IIS_MD_UT_SERVER
Примечания
Это свойство лишь указывает, какие ISAPI-приложения должны выполняться внутри
процесса. Присутствие приложения в этом списке не означает, что оно будет
автоматически запускаться при запуске сервера. Имейте в виду, что если слишком много
приложений будут выполняться вне процесса сервера, это может повлечь значительное
снижение производительности.
См. также
AppIsolated
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
IPSecurity
Это свойство задает ограничения доступа к адресу URL по IP-адресу. Оно служит для
разрешения или запрета обозревателям клиентов доступа на основе их IP-адреса или DNSимени узла.
Примечание. Более подробное описание этого объекта см. в разделе IIsIPSecurity.
Тип данных
Двоичная ссылка
Значение по умолчанию
Пусто (нет ограничений на IP-адрес)
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/MSFTPSVC
IIsFtpService
/LM/MSFTPSVC/N
IIsFtpServer
/LM/MSFTPSVC/N/ROOT
IIsFtpVirtualDir
/LM/MSFTPSVC/N/ROOT/ВиртуальныйFtpКаталог
IIsFtpVirtualDir
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
/LM/W3SVC/N/ROOT
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог
IIsWebDirectory
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог/ВебФайл IIsWebFile
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_IP_SEC
Тип пользователя
IIS_MD_UT_FILE
См. также
IIsIPSecurity
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
KeyType
Свойство KeyType задает тип параметра метабазы и объект IIS Admin, соответствующий
этому параметру. Свойство KeyType используется для указания класса объекта,
связанного с данным параметром, например IIsWebServer или IIsWebVirtualDir.
Свойство KeyType определяет набор свойств, доступных для данного параметра.
Тип данных
Строка (String)
Значение по умолчанию
Наследование
Не наследуемое
Примечания
Свойство KeyType доступно из любого объекта IIS Admin. Значением является имя
объекта IIS Admin, оно совпадает со значением свойства Class ADSI.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
LogAnonymous
Это свойство метабазы определяет, будут ли анонимные запросы регистрироваться в
журнале событий.
Тип данных
Логический (Boolean)
Значение по умолчанию FALSE
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/MSFTPSVC
IIsFtpService
/LM/MSFTPSVC/N IIsFtpServer
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_LOG_ANONYMOUS
Тип данных
DWORD_METADATA
Тип пользователя
IIS_MD_UT_SERVER
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
LogCustomPropertyDataType
Это свойство определяет тип данных специального поля журнала, к которому оно
применяется. Константы, используемые для обозначения типа данных, перечислены в
следующей таблице:
Тип данных
Значение
Int
0
Unsigned int
1
Long
2
Unsigned long 3
Float
4
Double
5
Lpstr
6
Lpwstr
7
Дополнительные сведения о специальных полях журналов содержатся в разделе Setting
Metabase Properties for Logging SDK платформы.
Тип данных
Длинное целое (Long)
Значение по умолчанию 0 (int)
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/Logging/CustomLogging
IIsCustomLogModule
/LM/Logging/CustomLogging/Поле
IIsCustomLogModule
/LM/Logging/CustomLogging/ГруппаПолей
IIsCustomLogModule
/LM/Logging/CustomLogging/ГруппаПолей/Поле IIsCustomLogModule
Информация об объекте IIS Admin Base
В следующих таблицах перечислены дополнительные сведения, которые требуются
только для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе
MD_LOGCUSTOM_PROPERTY_DATATYPE
Тип пользователя
IIS_MD_UT_SERVER
Значения битовой маски
Константа
Значение
Описание
MD_LOGCUSTOM_DATATYPE_INT
0x00000000
Тип данных — int.
MD_LOGCUSTOM_DATATYPE_UINT
0x00000001
Тип данных — unsigned
int.
MD_LOGCUSTOM_DATATYPE_LONG
0X00000002
Тип данных — long.
MD_LOGCUSTOM_DATATYPE_ULONG
0X00000003
Тип данных — unsigned
long.
MD_LOGCUSTOM_DATATYPE_FLOAT
0X00000004
Тип данных — float.
MD_LOGCUSTOM_DATATYPE_DOUBLE 0X00000005
MD_LOGCUSTOM_DATATYPE_LPSTR
0X00000006
MD_LOGCUSTOM_DATATYPE_LPWSTR 0X00000007
Тип данных — double.
Тип данных — указатель
типа long на строковый
массив.
Тип данных — lpwstr.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
LogCustomPropertyHeader
Это свойство метабазы определяет строку заголовка, которая будет записана в файл
журнала для специального поля журнала, к которому применяется это свойство.
Дополнительные сведения о специальных полях журналов содержатся в разделе «Setting
Metabase Properties for Logging» SDK платформы.
Тип данных
Строка (String)
Значение по умолчанию Пустая строка
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/Logging/CustomLogging
IIsCustomLogModule
/LM/Logging/CustomLogging/Поле
IIsCustomLogModule
/LM/Logging/CustomLogging/ГруппаПолей
IIsCustomLogModule
/LM/Logging/CustomLogging/ГруппаПолей/Поле IIsCustomLogModule
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе
MD_LOGCUSTOM_PROPERTY_HEADER
Тип данных
DWORD_METADATA
Тип пользователя
IIS_MD_UT_SERVER
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
LogCustomPropertyID
Это свойство задает идентификатор свойства в метабазе, который будет использоваться
для выяснения того, включено или отключено занесение в журнал определенного поля.
Чтобы получить идентификатор данного свойства, нужно сначала узнать, какая константаидентификатор метабазы соответствует рассматриваемому административному свойству.
Затем константу-идентификатор можно посмотреть в файле iiscnfg.h.
Например, административное свойство ADSI LogExtFileFlags соответствует базовому
свойству, обозначаемому константой MD_LOGEXT_FIELD_MASK, которая имеет
значение 4013.
Когда для занесения в журнал специальных полей вызывается модуль ведения журнала,
он обращается к свойству, определенному в LogCustomPropertyID, и проверяет битовые
флаги, заданные свойством LogCustomPropertyMask, чтобы выяснить состояние
(включено или отключено) отдельных полей.
Дополнительные сведения о специальных полях журналов содержатся в разделе Setting
Metabase Properties for Logging SDK платформы.
Тип данных
Длинное целое (Long)
Значение по умолчанию 0
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/Logging/CustomLogging
IIsCustomLogModule
/LM/Logging/CustomLogging/Поле
IIsCustomLogModule
/LM/Logging/CustomLogging/ГруппаПолей
IIsCustomLogModule
/LM/Logging/CustomLogging/ГруппаПолей/Поле IIsCustomLogModule
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе
MD_LOGCUSTOM_PROPERTY_ID
Тип пользователя
IIS_MD_UT_SERVER
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
LogCustomPropertyMask
Это свойство задает битовую маску, которую можно наложить на свойство метабазы,
определенное в свойстве LogCustomPropertyID, чтобы выяснить, включено или
отключено в настоящий момент отдельное поле журнала.
Когда для занесения в журнал специальных полей вызывается модуль ведения журнала,
он обращается к свойству, определенному в LogCustomPropertyID, и проверяет битовые
флаги, заданные свойством LogCustomPropertyMask, чтобы выяснить состояние
(включено ли или отключено) отдельных полей.
Дополнительные сведения о специальных полях журналов содержатся в разделе Setting
Metabase Properties for Logging SDK платформы.
Тип данных
Длинное целое (Long)
Значение по умолчанию 0
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/Logging/CustomLogging
IIsCustomLogModule
/LM/Logging/CustomLogging/Поле
IIsCustomLogModule
/LM/Logging/CustomLogging/ГруппаПолей
IIsCustomLogModule
/LM/Logging/CustomLogging/ГруппаПолей/Поле IIsCustomLogModule
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе
MD_LOGCUSTOM_PROPERTY_MASK
Тип пользователя
IIS_MD_UT_SERVER
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
LogCustomPropertyName
Это свойство задает имя специального поля журнала. Обычно это имя должно быть тем
именем, которое используется в пользовательском интерфейса для модуля ведения
журнала.
Дополнительные сведения о специальных полях журналов содержатся в разделе Setting
Metabase Properties for Logging SDK платформы.
Тип данных
Строка (String)
Значение по умолчанию Пустая строка
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/Logging/CustomLogging
IIsCustomLogModule
/LM/Logging/CustomLogging/Поле
IIsCustomLogModule
/LM/Logging/CustomLogging/ГруппаПолей
IIsCustomLogModule
/LM/Logging/CustomLogging/ГруппаПолей/Поле IIsCustomLogModule
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе
MD_LOGCUSTOM_PROPERTY_NAME
Тип пользователя
IIS_MD_UT_SERVER
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
LogCustomPropertyServicesString
Это свойство метабазы указывает, к каким службам применимы специальные поля
журналов.
Дополнительные сведения о специальных полях журналов содержатся в разделе «Setting
Metabase Properties for Logging» SDK платформы.
Тип данных
Список
Значение по умолчанию W3SVC
MSFTPSVC
SMTPSVC
NNTPSVC
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/Logging/CustomLogging
IIsCustomLogModule
/LM/Logging/CustomLogging/Поле
IIsCustomLogModule
/LM/Logging/CustomLogging/ГруппаПолей
IIsCustomLogModule
/LM/Logging/CustomLogging/ГруппаПолей/Поле IIsCustomLogModule
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе
MD_LOGCUSTOM_SERVICES_STRING
Тип данных
MULTISZ_METADATA
Тип пользователя
IIS_MD_UT_SERVER
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
LogExtFileBytesRecv
Это свойство определяет, будет ли при регистрации событий записываться в журнал
суммарное число полученных байтов. Это свойство представляет собой один из флагов,
содержащихся в свойстве LogExtFileFlags.
Тип данных
Логический (Boolean)
Значение по умолчанию FALSE
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/MSFTPSVC
IIsFtpService
/LM/MSFTPSVC/N IIsFtpServer
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Примечание. Это свойство является битовой маской, используемой с идентификатором
MD_LOGEXT_FIELD_MASK.
Идентификатор свойства в метабазе MD_LOGEXT_FIELD_MASK
Идентификатор битовой маски
MD_EXTLOG_BYTES_RECV
Тип данных
DWORD_METADATA
Тип пользователя
IIS_MD_UT_SERVER
Значение битовой маски
0x00002000
См. также
LogExtFileFlags
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
LogExtFileBytesSent
Это свойство определяет, будет ли при регистрации событий записываться в журнал
суммарное число отправленных байтов. Это свойство представляет собой один из флагов,
содержащихся в свойстве LogExtFileFlags.
Тип данных
Логический (Boolean)
Значение по умолчанию FALSE
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/MSFTPSVC
IIsFtpService
/LM/MSFTPSVC/N IIsFtpServer
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Примечание. Это свойство является битовой маской, используемой с идентификатором
MD_LOGEXT_FIELD_MASK.
Идентификатор свойства в метабазе MD_LOGEXT_FIELD_MASK
Идентификатор битовой маски
MD_EXTLOG_BYTES_SENT
Тип данных
DWORD_METADATA
Тип пользователя
IIS_MD_UT_SERVER
Значение битовой маски
0x00001000
См. также
LogExtFileFlags
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
LogExtFileClientIp
Это свойство определяет, будет ли при регистрации событий записываться в журнал IPадрес клиента. Это свойство представляет собой один из флагов, содержащихся в свойстве
LogExtFileFlags.
Тип данных
DWORD
Значение по умолчанию -1
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/MSFTPSVC
IIsFtpService
/LM/MSFTPSVC/N IIsFtpServer
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Примечание. Это свойство является битовой маской, используемой с идентификатором
MD_LOGEXT_FIELD_MASK.
Идентификатор свойства в метабазе MD_LOGEXT_FIELD_MASK
Идентификатор битовой маски
MD_EXTLOG_CLIENT_IP
Тип данных
DWORD_METADATA
Тип пользователя
IIS_MD_UT_SERVER
Значение битовой маски
0x00000004
См. также
LogExtFileFlags
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
LogExtFileComputerName
Это свойство определяет, будет ли при регистрации событий записываться в журнал имя
локального компьютера. Это свойство представляет собой один из флагов, содержащихся
в свойстве LogExtFileFlags.
Тип данных
Логический (Boolean)
Значение по умолчанию FALSE
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/MSFTPSVC
IIsFtpService
/LM/MSFTPSVC/N IIsFtpServer
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Примечание. Это свойство является битовой маской, используемой с идентификатором
MD_LOGEXT_FIELD_MASK.
Идентификатор свойства в метабазе
MD_LOGEXT_FIELD_MASK
Идентификатор битовой маски
MD_EXTLOG_COMPUTER_NAME
Тип данных
DWORD_METADATA
Тип пользователя
IIS_MD_UT_SERVER
Значение битовой маски
0x00000020
См. также
LogExtFileFlags
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
LogExtFileCookie
Это свойство определяет, будут ли при регистрации событий записываться в журнал
сведения из модуля настройки клиента. Это свойство представляет собой один из флагов,
содержащихся в свойстве LogExtFileFlags.
Тип данных
Логический (Boolean)
Значение по умолчанию FALSE
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/MSFTPSVC
IIsFtpService
/LM/MSFTPSVC/N IIsFtpServer
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Примечание. Это свойство является битовой маской, используемой с идентификатором
MD_LOGEXT_FIELD_MASK.
Идентификатор свойства в метабазе MD_LOGEXT_FIELD_MASK
Идентификатор битовой маски
MD_EXTLOG_COOKIE
Тип данных
DWORD_METADATA
Тип пользователя
IIS_MD_UT_SERVER
Значение битовой маски
0x00020000
См. также
LogExtFileFlags
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
LogExtFileDate
Это свойство определяет, будет ли при регистрации событий записываться в журнал дата.
Это свойство представляет собой один из флагов, содержащихся в свойстве
LogExtFileFlags.
Тип данных
Логический (Boolean)
Значение по умолчанию FALSE
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/MSFTPSVC
IIsFtpService
/LM/MSFTPSVC/N IIsFtpServer
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Примечание. Это свойство является битовой маской, используемой с идентификатором
MD_LOGEXT_FIELD_MASK.
Идентификатор свойства в метабазе MD_LOGEXT_FIELD_MASK
Идентификатор битовой маски
MD_EXTLOG_DATE
Тип данных
DWORD_METADATA
Тип пользователя
IIS_MD_UT_SERVER
Значение битовой маски
0x00000001
См. также
LogExtFileFlags
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
LogExtFileFlags
Это свойство содержит флаги, указывающие операционной системе Windows Server, какие
категории информации должны записываться в журнал (или в источник данных ODBC)
при регистрации событий. Это свойство содержит следующие флаги:
LogExtFileBytesRecv
LogExtFileHttpStatus
LogExtFileTime
LogExtFileBytesSent
LogExtFileMethod
LogExtFileTimeTaken
LogExtFileClientIp
LogExtFileProtocolVersion LogExtFileUriQuery
LogExtFileComputerName LogExtFileReferer
LogExtFileUriStem
LogExtFileCookie
LogExtFileServerIp
LogExtFileUserAgent
LogExtFileDate
LogExtFileServerPort
LogExtFileUserName
LogExtFileHost
LogExtFileSiteName
LogExtFileWin32Status
По умолчанию свойства LogExtFileClientIp, LogExtFileHttpStatus, LogExtFileMethod,
LogExtFileTime и LogExtFileUriStem имеют значения, равные –1.
Тип данных
Длинное целое (Long)
Значение по умолчанию 1414
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/MSFTPSVC
IIsFtpService
/LM/MSFTPSVC/N IIsFtpServer
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
Информация об объекте IIS Admin Base
В следующих таблицах перечислены дополнительные сведения, которые требуются
только для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе
MD_LOGEXT_FIELD_MASK
Тип пользователя
IIS_MD_UT_FILE
Битовая маска по умолчанию
MD_EXTLOG_CLIENT_IP
MD_EXTLOG_TIME
MD_EXTLOG_METHOD
MD_EXTLOG_URI_STEM
MD_EXTLOG_HTTP_STATUS
Значение битовой маски по умолчанию 0x 00000586
Значения битовой маски
Константа
Значение
Описание
MD_EXTLOG_DATE
0x00000001
Регистрировать дату.
MD_EXTLOG_TIME
0x00000002
Регистрировать время.
MD_EXTLOG_CLIENT_IP
0x00000004
Регистрировать IP-адрес
клиента.
MD_EXTLOG_USERNAME
0x00000008
Регистрировать имя
пользователя.
MD_EXTLOG_SITE_NAME
0x00000010
Регистрировать имя узла.
MD_EXTLOG_COMPUTER_NAME
0x00000020
Регистрировать имя
компьютера.
MD_EXTLOG_SERVER_IP
0x00000040
Регистрировать IP-адрес
сервера.
MD_EXTLOG_METHOD
0x00000080
Регистрировать метод
регистрации.
MD_EXTLOG_URI_STEM
0x00000100
Регистрировать ресурс
URI.
MD_EXTLOG_URI_QUERY
0x00000200
Регистрировать запрос URI.
MD_EXTLOG_HTTP_STATUS
0x00000400
Регистрировать состояние
HTTP.
MD_EXTLOG_WIN32_STATUS
0x00000800
Регистрировать состояние
WIN32.
MD_EXTLOG_BYTES_SENT
0x00001000
Регистрировать общее
число отправленных
байтов.
MD_EXTLOG_BYTES_RECV
0x00002000
Регистрировать общее
число полученных байтов.
MD_EXTLOG_TIME_TAKEN
0x00004000
Регистрировать общее
затраченное время.
MD_EXTLOG_SERVER_PORT
0x00008000
Регистрировать порт
сервера.
MD_EXTLOG_USER_AGENT
0x00010000
Регистрировать
пользовательского агента.
MD_EXTLOG_COOKIE
0x00020000
Регистрировать сведения из
модуля настройки клиента.
MD_EXTLOG_REFERER
0x00040000
Регистрировать источник
ссылки.
MD_EXTLOG_PROTOCOL_VERSION
0x00080000
Регистрировать версию
протокола клиент/сервер.
MD_EXTLOG_HOST
0x00100000
Регистрировать имя
сервера узла.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
LogExtFileHost
Это свойство определяет, будет ли при регистрации событий записываться в журнал имя
сервера узла. Это свойство представляет собой один из флагов, содержащихся в свойстве
LogExtFileFlags.
Тип данных
Логический (Boolean)
Значение по умолчанию FALSE
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/MSFTPSVC
IIsFtpService
/LM/MSFTPSVC/N IIsFtpServer
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Примечание. Это свойство является битовой маской, используемой с идентификатором
MD_LOGEXT_FIELD_MASK.
Идентификатор свойства в метабазе MD_LOGEXT_FIELD_MASK
Идентификатор битовой маски
MD_EXTLOG_HOST
Тип данных
DWORD_METADATA
Тип пользователя
IIS_MD_UT_SERVER
Значение битовой маски
0x00100000
См. также
LogExtFileFlags
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
LogExtFileHttpStatus
Это свойство определяет, будут ли при регистрации событий записываться в журнал
сведения о состоянии HTTP. Это свойство представляет собой один из флагов,
содержащихся в свойстве LogExtFileFlags.
Тип данных
DWORD
Значение по умолчанию -1
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/MSFTPSVC
IIsFtpService
/LM/MSFTPSVC/N IIsFtpServer
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Примечание. Это свойство является битовой маской, используемой с идентификатором
MD_LOGEXT_FIELD_MASK.
Идентификатор свойства в метабазе MD_LOGEXT_FIELD_MASK
Идентификатор битовой маски
MD_EXTLOG_HTTP_STATUS
Тип данных
DWORD_METADATA
Тип пользователя
IIS_MD_UT_SERVER
Значение битовой маски
0x00000400
См. также
LogExtFileFlags
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
LogExtFileMethod
Это свойство определяет, будет ли при регистрации событий записываться в журнал
метод регистрации. Это свойство представляет собой один из флагов, содержащихся в
свойстве LogExtFileFlags.
Тип данных
DWORD
Значение по умолчанию -1
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/MSFTPSVC
IIsFtpService
/LM/MSFTPSVC/N IIsFtpServer
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Примечание. Это свойство является битовой маской, используемой с идентификатором
MD_LOGEXT_FIELD_MASK.
Идентификатор свойства в метабазе MD_LOGEXT_FIELD_MASK
Идентификатор битовой маски
MD_EXTLOG_METHOD
Тип данных
DWORD_METADATA
Тип пользователя
IIS_MD_UT_SERVER
Значение битовой маски
0x00000080
См. также
LogExtFileFlags
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
LogExtFileProtocolVersion
Это свойство определяет, будет ли при регистрации событий записываться в журнал
версия протокола клиент/сервер. Это свойство представляет собой один из флагов,
содержащихся в свойстве LogExtFileFlags.
Тип данных
Логический (Boolean)
Значение по умолчанию FALSE
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/MSFTPSVC
IIsFtpService
/LM/MSFTPSVC/N IIsFtpServer
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Примечание. Это свойство является битовой маской, используемой с идентификатором
MD_LOGEXT_FIELD_MASK.
Идентификатор свойства в метабазе
MD_LOGEXT_FIELD_MASK
Идентификатор битовой маски
MD_EXTLOG_PROTOCOL_VERSION
Тип данных
DWORD_METADATA
Тип пользователя
IIS_MD_UT_SERVER
Значение битовой маски
0x00080000
См. также
LogExtFileFlags
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
LogExtFileReferer
Это свойство определяет, будет ли при регистрации событий записываться в журнал поле
источника ссылки, отправленное клиентом. Это свойство представляет собой один из
флагов, содержащихся в свойстве LogExtFileFlags.
Тип данных
Логический (Boolean)
Значение по умолчанию FALSE
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/MSFTPSVC
IIsFtpService
/LM/MSFTPSVC/N IIsFtpServer
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Примечание. Это свойство является битовой маской, используемой с идентификатором
MD_LOGEXT_FIELD_MASK.
Идентификатор свойства в метабазе MD_LOGEXT_FIELD_MASK
Идентификатор битовой маски
MD_EXTLOG_REFERER
Тип данных
DWORD_METADATA
Тип пользователя
IIS_MD_UT_SERVER
Значение битовой маски
0x00040000
См. также
LogExtFileFlags
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
LogExtFileServerIp
Это свойство определяет, будет ли при регистрации событий записываться в журнал IPадрес сервера. Это свойство представляет собой один из флагов, содержащихся в свойстве
LogExtFileFlags.
Тип данных
Логический (Boolean)
Значение по умолчанию FALSE
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/MSFTPSVC
IIsFtpService
/LM/MSFTPSVC/N IIsFtpServer
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Примечание. Это свойство является битовой маской, используемой с идентификатором
MD_LOGEXT_FIELD_MASK.
Идентификатор свойства в метабазе MD_LOGEXT_FIELD_MASK
Идентификатор битовой маски
MD_EXTLOG_SERVER_IP
Тип данных
DWORD_METADATA
Тип пользователя
IIS_MD_UT_SERVER
Значение битовой маски
0x00000040
См. также
LogExtFileFlags
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
LogExtFileServerPort
Это свойство определяет, будет ли при регистрации событий записываться в журнал
активный порт сервера. Это свойство представляет собой один из флагов, содержащихся в
свойстве LogExtFileFlags.
Тип данных
Логический (Boolean)
Значение по умолчанию FALSE
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/MSFTPSVC
IIsFtpService
/LM/MSFTPSVC/N IIsFtpServer
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Примечание. Это свойство является битовой маской, используемой с идентификатором
MD_LOGEXT_FIELD_MASK.
Идентификатор свойства в метабазе MD_LOGEXT_FIELD_MASK
Идентификатор битовой маски
MD_EXTLOG_SERVER_PORT
Тип данных
DWORD_METADATA
Тип пользователя
IIS_MD_UT_SERVER
Значение битовой маски
0x00008000
См. также
LogExtFileFlags
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
LogExtFileSiteName
Это свойство определяет, будет ли при регистрации событий записываться в журнал имя
узла. Это свойство представляет собой один из флагов, содержащихся в свойстве
LogExtFileFlags.
Тип данных
Логический (Boolean)
Значение по умолчанию FALSE
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/MSFTPSVC
IIsFtpService
/LM/MSFTPSVC/N IIsFtpServer
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Примечание. Это свойство является битовой маской, используемой с идентификатором
MD_LOGEXT_FIELD_MASK.
Идентификатор свойства в метабазе MD_LOGEXT_FIELD_MASK
Идентификатор битовой маски
MD_EXTLOG_SITE_NAME
Тип данных
DWORD_METADATA
Тип пользователя
IIS_MD_UT_SERVER
Значение битовой маски
0x00000010
См. также
LogExtFileFlags
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
LogExtFileTime
Это свойство определяет, будет ли при регистрации событий записываться в журнал
время. Это свойство представляет собой один из флагов, содержащихся в свойстве
LogExtFileFlags.
Тип данных
DWORD
Значение по умолчанию -1
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/MSFTPSVC
IIsFtpService
/LM/MSFTPSVC/N IIsFtpServer
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Примечание. Это свойство является битовой маской, используемой с идентификатором
MD_LOGEXT_FIELD_MASK.
Идентификатор свойства в метабазе MD_LOGEXT_FIELD_MASK
Идентификатор битовой маски
MD_EXTLOG_TIME
Тип данных
DWORD_METADATA
Тип пользователя
IIS_MD_UT_SERVER
Значение битовой маски
0x00000002
См. также
LogExtFileFlags
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
LogExtFileTimeTaken
Это свойство определяет, будет ли при регистрации событий записываться в журнал
суммарное время, затраченное на выполнение запроса. Это свойство представляет собой
один из флагов, содержащихся в свойстве LogExtFileFlags.
Тип данных
Логический (Boolean)
Значение по умолчанию FALSE
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/MSFTPSVC
IIsFtpService
/LM/MSFTPSVC/N IIsFtpServer
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Примечание. Это свойство является битовой маской, используемой с идентификатором
MD_LOGEXT_FIELD_MASK.
Идентификатор свойства в метабазе MD_LOGEXT_FIELD_MASK
Идентификатор битовой маски
MD_EXTLOG_TIME_TAKEN
Тип данных
DWORD_METADATA
Тип пользователя
IIS_MD_UT_SERVER
Значение битовой маски
0x00004000
См. также
LogExtFileFlags
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
LogExtFileUriQuery
Это свойство определяет, будет ли при регистрации событий записываться в журнал
информация из запроса универсального идентификатора ресурсов (URI). Запрос URI
обычно состоит из параметров, передаваемых в URL с использованием следующего
формата URL?Параметры. Это свойство представляет собой один из флагов,
содержащихся в свойстве LogExtFileFlags.
Тип данных
Логический (Boolean)
Значение по умолчанию FALSE
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/MSFTPSVC
IIsFtpService
/LM/MSFTPSVC/N IIsFtpServer
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Примечание. Это свойство является битовой маской, используемой с идентификатором
MD_LOGEXT_FIELD_MASK.
Идентификатор свойства в метабазе MD_LOGEXT_FIELD_MASK
Идентификатор битовой маски
MD_EXTLOG_URI_QUERY
Тип данных
DWORD_METADATA
Тип пользователя
IIS_MD_UT_SERVER
Значение битовой маски
0x00000200
См. также
LogExtFileFlags
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
LogExtFileUriStem
Это свойство определяет, будет ли при регистрации событий записываться в журнал
информация о ресурсе универсального идентификатора ресурса (URI). Ресурс URI обычно
состоит из самого запрашиваемого ресурса. Это свойство представляет собой один из
флагов, содержащихся в свойстве LogExtFileFlags.
Тип данных
DWORD
Значение по умолчанию -1
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/MSFTPSVC
IIsFtpService
/LM/MSFTPSVC/N IIsFtpServer
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Примечание. Это свойство является битовой маской, используемой с идентификатором
MD_LOGEXT_FIELD_MASK.
Идентификатор свойства в метабазе MD_LOGEXT_FIELD_MASK
Идентификатор битовой маски
MD_EXTLOG_URI_STEM
Тип данных
DWORD_METADATA
Тип пользователя
IIS_MD_UT_SERVER
Значение битовой маски
0x00000100
См. также
LogExtFileFlags
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
LogExtFileUserAgent
Это свойство определяет, будет ли при регистрации событий записываться в журнал
содержимое поля пользовательского агента, отправленное клиентом. Это свойство
представляет собой один из флагов, содержащихся в свойстве LogExtFileFlags.
Тип данных
Логический (Boolean)
Значение по умолчанию FALSE
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/MSFTPSVC
IIsFtpService
/LM/MSFTPSVC/N IIsFtpServer
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Примечание. Это свойство является битовой маской, используемой с идентификатором
MD_LOGEXT_FIELD_MASK.
Идентификатор свойства в метабазе MD_LOGEXT_FIELD_MASK
Идентификатор битовой маски
MD_EXTLOG_USER_AGENT
Тип данных
DWORD_METADATA
Тип пользователя
IIS_MD_UT_SERVER
Значение битовой маски
0x00010000
См. также
LogExtFileFlags
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
LogExtFileUserName
Это свойство определяет, будет ли при регистрации событий записываться в журнал имя
пользователя. Это свойство представляет собой один из флагов, содержащихся в свойстве
LogExtFileFlags.
Тип данных
Логический (Boolean)
Значение по умолчанию FALSE
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/MSFTPSVC
IIsFtpService
/LM/MSFTPSVC/N IIsFtpServer
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Примечание. Это свойство является битовой маской, используемой с идентификатором
MD_LOGEXT_FIELD_MASK.
Идентификатор свойства в метабазе MD_LOGEXT_FIELD_MASK
Идентификатор битовой маски
MD_EXTLOG_USERNAME
Тип данных
DWORD_METADATA
Тип пользователя
IIS_MD_UT_SERVER
Значение битовой маски
0x00000008
См. также
LogExtFileFlags
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
LogExtFileWin32Status
Это свойство определяет, будет ли при регистрации событий записываться в журнал
состояние текущей ошибки Microsoft® Win32®. Это свойство представляет собой один из
флагов, содержащихся в свойстве LogExtFileFlags.
Тип данных
Логический (Boolean)
Значение по умолчанию FALSE
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/MSFTPSVC
IIsFtpService
/LM/MSFTPSVC/N IIsFtpServer
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Примечание. Это свойство является битовой маской, используемой с идентификатором
MD_LOGEXT_FIELD_MASK.
Идентификатор свойства в метабазе MD_LOGEXT_FIELD_MASK
Идентификатор битовой маски
MD_EXTLOG_WIN32_STATUS
Тип данных
DWORD_METADATA
Тип пользователя
IIS_MD_UT_SERVER
Значение битовой маски
0x00000800
См. также
LogExtFileFlags
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
LogFileDirectory
Это свойство метабазы задает каталог по умолчанию, в котором хранятся файл журнала и
вспомогательные файлы.
Важно! Каталог журнала должен быть локальным.
Тип данных
Строка (String)
Значение по умолчанию
%windir%\System32\LogFiles
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/MSFTPSVC
IIsFtpService
/LM/MSFTPSVC/N IIsFtpServer
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_LOGFILE_DIRECTORY
Тип данных
EXPANDSZ_METADATA
Тип пользователя
IIS_MD_UT_SERVER
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
LogFileLocaltimeRollover
Это свойство определяет режим смены файлов журналов IIS расширенного формата W3C.
Если это свойство имеет значение FALSE, то будет использоваться стандартный режим:
Новый файл журнала будет создаваться по универсальному времени (Universal Time
Coordinate — UTC), а не по местному времени. Если значением свойства является TRUE,
то новый файл журнала будет создаваться по местному, а не по универсальному, времени.
(Время UTC ранее называлось временем по Гринвичу (Greenwich Mean Time — GMT.))
Примечание. Независимо от значения этого свойства отметки времени для всех записей
журнала расширенного формата W3C будут производиться по универсальному времени
UTC.
Тип данных
Логический (Boolean)
Значение по умолчанию FALSE
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/MSFTPSVC
IIsFtpService
/LM/MSFTPSVC/N IIsFtpServer
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе
MD_LOGFILE_LOCALTIME_ROLLOVER
Тип пользователя
IIS_MD_UT_SERVER
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
LogFilePeriod
Это свойство метабазы определяет, как часто Microsoft Windows ® будет создавать новые
файлы журналов. Это свойство может иметь следующие значения: 1 (ежедневно), 2
(еженедельно), 3 (ежемесячно) или 4 (ежечасно). Если данное свойство имеет значение 0,
то новый файл будет создаваться при превышении существующим файлом максимального
размера, заданного в свойстве LogFileTruncateSize.
Тип данных
Длинное целое (Long)
Значение по умолчанию
1 (Создавать новый журнал ежедневно)
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/MSFTPSVC
IIsFtpService
/LM/MSFTPSVC/N IIsFtpServer
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
Информация об объекте IIS Admin Base
В следующих таблицах перечислены дополнительные сведения, которые требуются
только для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_LOGFILE_PERIOD
Тип данных
DWORD_METADATA
Тип пользователя
IIS_MD_UT_SERVER
Значения битовой маски
Константа
Значение
Описание
MD_LOGFILE_PERIOD_MAXSIZE
0x00000000
Создавать новый файл
журнала по достижении
максимального размера.
MD_LOGFILE_PERIOD_DAILY
0x00000001
Создавать новый журнал
ежедневно.
MD_LOGFILE_PERIOD_WEEKLY
0x00000002
Создавать новый журнал
еженедельно.
MD_LOGFILE_PERIOD_MONTHLY
0x00000003
Создавать новый журнал
ежемесячно.
MD_LOGFILE_PERIOD_HOURLY
0X00000004
Создавать новый журнал
ежечасно.
См. также
LogFileTruncateSize
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
LogFileTruncateSize
Это значение указывает предельный размер файла журнала в байтах. Новый журнал
создается, если при регистрации события размер существующего файла журнала
превышает значение, заданное в этом свойстве.
Примечание. Минимально допустимый размер файла – 131 072 байта. Если это свойство
имеет используемое по умолчанию значение меньше 131 072 байт, считается, что по
умолчанию используется значение 131 072 байта.
Тип данных
Целое (Integer)
Значение по умолчанию 20971520 (байт)
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/MSFTPSVC
IIsFtpService
/LM/MSFTPSVC/N IIsFtpServer
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_LOGFILE_TRUNCATE_SIZE
Тип пользователя
IIS_MD_UT_SERVER
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
LogModuleId
Это свойство задает идентификатор CLSID модуля ведения журнала.
Тип данных
Строка (String)
Значение по умолчанию Пустая строка
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/Logging/МодульЖурналаIIS IIsLogModule
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_LOG_PLUGIN_MOD_ID
Тип пользователя
IIS_MD_UT_SERVER
См. также
LogModuleUiId
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
LogModuleList
Это свойство хранит строку, содержащую список разделенных запятыми имен доступных
модулей журнала.
Тип данных
Строка (String)
Значение по умолчанию Пустая строка
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/MSFTPSVC/INFO IIsFtpInfo
/LM/W3SVC/INFO
IIsWebInfo
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_LOG_PLUGINS_AVAILABLE
Тип пользователя
IIS_MD_UT_SERVER
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
LogModuleUiId
Это свойство задает идентификатор CLSID пользовательского интерфейса модуля ведения
журнала.
Тип данных
Строка (String)
Значение по умолчанию Пустая строка
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/Logging/МодульЖурналаIIS IIsLogModule
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_LOG_PLUGIN_UI_ID
Тип пользователя
IIS_MD_UT_SERVER
См. также
LogModuleId
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
LogNonAnonymous
Это свойство определяет, будут ли неанонимные запросы регистрироваться в журнале
событий.
Тип данных
Логический (Boolean)
Значение по умолчанию FALSE
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/MSFTPSVC
IIsFtpService
/LM/MSFTPSVC/N IIsFtpServer
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_LOG_NONANONYMOUS
Тип данных
DWORD_METADATA
Тип пользователя
IIS_MD_UT_SERVER
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
LogOdbcDataSource
Это свойство задает имя источника данных ODBC, в который Microsoft Windows будет
записывать данные регистрируемых событий.
Тип данных
Строка (String)
Значение по умолчанию HTTPLOG
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/MSFTPSVC
IIsFtpService
/LM/MSFTPSVC/N IIsFtpServer
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_LOGSQL_DATA_SOURCES
Тип пользователя
IIS_MD_UT_SERVER
Примечания
Идентификатор CLSID модуля журнала определяет, куда Microsoft Windows будет
записывать события: в источник данных ODBC или в файл.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
LogOdbcPassword
Это свойство задает пароль базы данных ODBC, который будет использоваться для записи
регистрируемых событий в базу данных.
Тип данных
Строка (String)
Значение по умолчанию Пустая строка
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/MSFTPSVC
IIsFtpService
/LM/MSFTPSVC/N IIsFtpServer
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_LOGSQL_PASSWORD
Тип пользователя
IIS_MD_UT_SERVER
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
LogOdbcTableName
Это свойство задает имя таблицы базы данных ODBC, в которую Microsoft Windows будет
записывать данные регистрируемых событий.
Тип данных
Строка (String)
Значение по умолчанию InternetLog
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/MSFTPSVC
IIsFtpService
/LM/MSFTPSVC/N IIsFtpServer
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_LOGSQL_TABLE_NAME
Тип пользователя
IIS_MD_UT_SERVER
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
LogOdbcUserName
Это свойство задает имя пользователя базы данных ODBC, которое будет использоваться
для записи регистрируемых событий в базу данных.
Тип данных
Строка (String)
Значение по умолчанию InternetAdmin
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/MSFTPSVC
IIsFtpService
/LM/MSFTPSVC/N IIsFtpServer
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_LOGSQL_USER_NAME
Тип пользователя
IIS_MD_UT_SERVER
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
LogonMethod
Это свойство задает метод текстового входа. Допустимые значения: интерактивный
(значение 0), пакетный (1) и сетевой (2). Каждый пользователь, пытающийся
подключиться к серверу, должен иметь разрешения, соответствующие используемому
методу входа.
Тип данных
Длинное целое (Long)
Значение по умолчанию 0 (интерактивный)
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
/LM/W3SVC/N/ROOT
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог
IIsWebDirectory
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог/ВебФайл IIsWebFile
Значения битовой маски
Константа
Значение
Описание
MD_LOGON_INTERACTIVE
0x00000000
Вход с локального
компьютера.
MD_LOGON_BATCH
0X00000001
Вход в пакетном режиме.
MD_LOGON_NETWORK
0x00000002
Вход по сети.
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_LOGON_METHOD
Тип пользователя
IIS_MD_UT_SERVER
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
LogPluginClsid
Это свойство задает порядок очередности модулей ведения журнала.
Тип данных
Строка (String)
Значение по умолчанию Пустая строка
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/MSFTPSVC
IIsFtpService
/LM/MSFTPSVC/N IIsFtpServer
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_LOG_PLUGIN_ORDER
Тип пользователя
IIS_MD_UT_SERVER
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
LogType
Это свойство показывает, включена ли запись в журнал. Значение 0 означает, что запись в
журнал отключена, а значение 1 — что она включена. Это свойство доступно для чтения и
записи.
Тип данных
Длинное целое (Long)
Значение по умолчанию
1 (запись в журнал включена)
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/MSFTPSVC
IIsFtpService
/LM/MSFTPSVC/N IIsFtpServer
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
Информация об объекте IIS Admin Base
В следующих таблицах перечислены дополнительные сведения, которые требуются
только для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_LOG_TYPE
Тип пользователя
IIS_MD_UT_SERVER
Значения битовой маски
Константа
Значение
Описание
MD_LOG_TYPE_DISABLED
0x00000000
Запись в журнал
отключена.
MD_LOG_TYPE_ENABLED
0x00000001
Запись в журнал включена.
См. также
DontLog
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
MaxBandWidth
Это свойство задает максимальную долю полосы пропускания сети, которую может
использовать IIS. Такое ограничение позволяет предотвратить перегрузку сети из-за
работы IIS. Это свойство не наследуется, но будучи заданным на уровне компьютера, оно
будет доступно всем экземплярам сервера. Свойство MaxBandWidth можно задавать и
для отдельных серверов; при этом оно может превышать значение, заданное на уровне
компьютера. Чтобы изменение свойства MaxBandWidth вступили в силу, экземпляр
сервера нужно остановить и перезапустить.
Тип данных
Длинное целое (Long)
Значение по умолчанию
-1
Наследование
Глобальное (не наследуемое)
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе Тип раздела
/LM
IIsComputer
/LM/W3SVC/N
IIsWebServer
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_MAX_BANDWIDTH
Тип пользователя
IIS_MD_UT_SERVER
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
MaxBandWidthBlocked
Это свойство задает максимальное число асинхронных запросов, которые могут
помещаться в очередь ожидания при максимальном использовании сервером разрешенной
полосы пропускания. Допустимый диапазон значений этого свойства — от 0 до
&HFFFFFFFF (неограничено).
Это свойство не наследуется, но будучи заданным на уровне компьютера, оно будет
доступно всем экземплярам сервера.
Тип данных
Длинное целое (Long)
Значение по умолчанию
-1
Наследование
Глобальное (не наследуемое)
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе Тип раздела
/LM
IIsComputer
/LM/W3SVC/N
IIsWebServer
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе
MD_MAX_BANDWIDTH_BLOCKED
Тип пользователя
IIS_MD_UT_SERVER
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
MaxClientsMessage
Это свойство задает текст сообщения, отправляемого клиентам, пытающимся
подключиться к серверу, к которому уже подключено максимально разрешенное число
пользователей, заданное в свойстве MaxConnections. Это сообщение состоит из одной
строки.
Тип данных
Строка (String)
Значение по умолчанию Пустая строка
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/MSFTPSVC
IIsFtpService
/LM/MSFTPSVC/N IIsFtpServer
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_MAX_CLIENTS_MESSAGE
Тип пользователя
IIS_MD_UT_SERVER
См. также
MaxConnections
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
MaxConnections
Это свойство задает максимально допустимое число одновременных подключений к
серверу. Допустимый диапазон значений — от 0 до 0xFFFFFFFF (неограничено).
Сообщение, отправляемое клиентам, пытающимся подключиться к серверу, к которому
уже подключено максимально разрешенное число пользователей, задается в свойстве
MaxClientsMessage.
Тип данных
Длинное целое (Long)
Значение по умолчанию
0xFFFFFFFF (неограничено) для
Windows 2000 Server,
10 для Windows 2000 и XP Professional
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/MSFTPSVC
IIsFtpService
/LM/MSFTPSVC/N IIsFtpServer
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
Информация об объекте IIS Admin Base
В следующих таблицах перечислены дополнительные сведения, которые требуются
только для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_MAX_CONNECTIONS
Тип пользователя
IIS_MD_UT_SERVER
Операционная система
Значение по умолчанию и диапазон
Windows 2000 Server
&HFFFFFFFF (диапазон 0-&HFFFFFFFF)
Windows XP Professional
10 (диапазон 0-10)
Windows 95, 98
10 (диапазон 0-10)
См. также
MaxClientsMessage
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
MaxEndpointConnections
Это свойство определяет максимальное число прослушиваемых соединителей, которые
будут собраны в точке входа в сеть. Например, если свойство имеет значение 15, то один
порт сможет принять только 15 подключений, даже если к нему присоединено несколько
доменов.
Тип данных
Длинное целое (Long)
Значение по умолчанию -1
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/MSFTPSVC
IIsFtpService
/LM/MSFTPSVC/N IIsFtpServer
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе
MD_MAX_ENDPOINT_CONNECTIONS
Тип пользователя
IIS_MD_UT_SERVER
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
MimeMap
Это свойство предоставляет список расширений имен файлов для сопоставлений MIME
(Multipurpose Internet Mail Extensions). Параметр MimeMap на уровне локальной машины
в метабазе содержит список, используемый по умолчанию; этот список может быть
переопределен параметрами на уровне веб-службы и веб-сервера. Подробнее об этом
свойстве см. в описании объекта IIsMimeMap.
Тип данных
Список (объектов)
Значение по умолчанию Пустой список
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM
IIsComputer
/LM/MimeMap
IIsMimeMap
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
/LM/W3SVC/N/ROOT
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог
IIsWebDirectory
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог/ВебФайл IIsWebFile
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_MIME_MAP
Тип данных
MULTSZ_METADATA
Тип пользователя
IIS_MD_UT_FILE
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
MSDOSDirOutput
Это свойство определяет стиль вывода каталогов при выполнении команды list с FTPклиента. Если данное свойство имеет значение TRUE, то каталоги будут выводиться в
стиле MS-DOS®, а если FALSE — то в стиле UNIX.
Тип данных
Логический (Boolean)
Значение по умолчанию TRUE
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/MSFTPSVC
IIsFtpService
/LM/MSFTPSVC/N IIsFtpServer
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_MSDOS_DIR_OUTPUT
Тип данных
DWORD_METADATA
Тип пользователя
IIS_MD_UT_SERVER
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
NetLogonWorkstation
Это свойство задает ограничения, налагаемые контроллером домена на вход в домен с
компьютеров Windows XP Professional. Если свойство NetLogonWorkstation имеет
значение 0, то ограничения на вход в домен будут основаны на сведениях о клиенте
Windows Professional и домене. Если свойство NetLogonWorkstation имеет значение 1, то
ограничения на вход в домен будут основаны на IP-адресе клиента. И, наконец, если
свойство NetLogonWorkstation имеет значение 2, то ограничения на вход будут основаны
на DNS-имени клиента.
Тип данных
Длинное целое (Long)
Значение по умолчанию
0 (Только ограничения Windows 2000
Professional и более поздних версий
Windows)
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе Тип раздела
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
Информация об объекте IIS Admin Base
В следующих таблицах перечислены дополнительные сведения, которые требуются
только для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_NET_LOGON_WKS
Битовая маска по умолчанию
MD_NETLOGON_WKS_NONE
Тип пользователя
IIS_MD_UT_SERVER
Значения битовой маски
Константа
Значение
Описание
MD_NETLOGON_WKS_NONE
0x00000000
Только ограничения
Windows 2000 Professional и
более поздних версий
WIndows.
MD_NETLOGON_WKS_IP
0x00000001
Ограничения по IP-адресу.
MD_NETLOGON_WKS_DNS
0x00000002
Ограничения по DNS-имени
узла.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
NoCache
Если это свойство имеет значение TRUE, IIS не следит за уведомлениями об изменениях и
не кэширует файлы, URL которых указывает на текущий виртуальный каталог.
Тип данных
Логический (Boolean)
Значение по умолчанию FALSE
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
/LM/W3SVC/N/ROOT
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог IIsWebVirtualDir
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_VR_NO_CACHE
Тип данных
DWORD_METADATA
Тип пользователя
IIS_MD_UT_FILE
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
NotifyAccessDenied
Это свойство показывает, зарегистрирован ли фильтр на получение уведомлений о выдаче
сообщений об отказе в доступе. Если значением свойства является TRUE, фильтр будет
уведомляться о том, что сервер собирается выдать сообщение об ошибке «401 Нет
доступа». Если свойство имеет значение FALSE, фильтр игнорирует сообщения об отказе
доступа. Это свойство представляет собой один из флагов, содержащихся в свойстве
FilterFlags, и доступно только для чтения.
Тип данных
Логический (Boolean)
Значение по умолчанию FALSE
Наследование
Не наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC/Filters/Фильтр
IIsFilter
/LM/W3SVC/N/Filters/Фильтр IIsFilter
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Примечание. Это свойство является битовой маской, используемой с идентификатором
MD_FILTER_FLAGS.
Идентификатор свойства в метабазе MD_FILTER_FLAGS
Идентификатор битовой маски
MD_NOTIFY_ACCESS_DENIED
Тип данных
DWORD_METADATA
Тип пользователя
IIS_MD_UT_SERVER
Значение битовой маски
0x00000800
См. также
FilterFlags
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
NotifyAuthentication
Это свойство показывает, зарегистрирован ли фильтр на получение уведомлений о
проверке подлинности. Если значением свойства является TRUE, фильтр будет
уведомляться, когда сервер будет проверять подлинность клиента. Это свойство
представляет собой один из флагов, содержащихся в свойстве FilterFlags, и должно
рассматриваться как доступное только для чтения.
Тип данных
Логический (Boolean)
Значение по умолчанию FALSE
Наследование
Не наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC/Filters/Фильтр
IIsFilter
/LM/W3SVC/N/Filters/Фильтр IIsFilter
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Примечание. Это свойство является битовой маской, используемой с идентификатором
MD_FILTER_FLAGS.
Идентификатор свойства в метабазе
MD_FILTER_FLAGS
Идентификатор битовой маски
MD_NOTIFY_AUTHENTICATION
Тип данных
DWORD_METADATA
Тип пользователя
IIS_MD_UT_SERVER
Значение битовой маски
0x00002000
См. также
FilterFlags
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
NotifyEndOfNetSession
Это свойство показывает, зарегистрирован ли фильтр на получение уведомлений о
завершении сетевых сеансов. Это свойство представляет собой один из флагов,
содержащихся в свойстве FilterFlags, и должно рассматриваться как доступное только для
чтения.
Тип данных
Логический (Boolean)
Значение по умолчанию FALSE
Наследование
Не наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC/Filters/Фильтр
IIsFilter
/LM/W3SVC/N/Filters/Фильтр IIsFilter
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Примечание. Это свойство является битовой маской, используемой с идентификатором
MD_FILTER_FLAGS.
Идентификатор свойства в метабазе
MD_FILTER_FLAGS
Идентификатор битовой маски
MD_NOTIFY_END_OF_NET_SESSION
Тип данных
DWORD_METADATA
Тип пользователя
IIS_MD_UT_SERVER
Значение битовой маски
0x00000100
См. также
FilterFlags
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
NotifyEndOfRequest
Это свойство показывает, зарегистрирован ли фильтр на получение уведомлений о
завершении каждого клиентского запроса. Это свойство представляет собой один из
флагов, содержащихся в свойстве FilterFlags, и должно рассматриваться как доступное
только для чтения.
Тип данных
Логический (Boolean)
Значение по умолчанию FALSE
Наследование
Не наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC/Filters/Фильтр
IIsFilter
/LM/W3SVC/N/Filters/Фильтр IIsFilter
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Примечание. Это свойство является битовой маской, используемой с идентификатором
MD_FILTER_FLAGS.
Идентификатор свойства в метабазе
MD_FILTER_FLAGS
Идентификатор битовой маски
MD_NOTIFY_END_OF_REQUEST
Тип данных
DWORD_METADATA
Тип пользователя
IIS_MD_UT_SERVER
Значение битовой маски
0x00000080
См. также
FilterFlags
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
NotifyLog
Это свойство показывает, зарегистрирован ли фильтр на получение уведомлений о
выполнении сервером записи в журнал. Это свойство представляет собой один из флагов,
содержащихся в свойстве FilterFlags, и должно рассматриваться как доступное только для
чтения.
Тип данных
Логический (Boolean)
Значение по умолчанию FALSE
Наследование
Не наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC/Filters/Фильтр
IIsFilter
/LM/W3SVC/N/Filters/Фильтр IIsFilter
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Примечание. Это свойство является битовой маской, используемой с идентификатором
MD_FILTER_FLAGS.
Идентификатор свойства в метабазе MD_FILTER_FLAGS
Идентификатор битовой маски
MD_NOTIFY_LOG
Тип данных
DWORD_METADATA
Тип пользователя
IIS_MD_UT_SERVER
Значение битовой маски
0x00000200
См. также
FilterFlags
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
NotifyNonSecurePort
Это свойство показывает, зарегистрирован ли фильтр на получение уведомлений только о
сеансах на незащищенных портах. Это свойство представляет собой один из флагов,
содержащихся в свойстве FilterFlags, и должно рассматриваться как доступное только для
чтения.
Тип данных
Логический (Boolean)
Значение по умолчанию FALSE
Наследование
Не наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC/Filters/Фильтр
IIsFilter
/LM/W3SVC/N/Filters/Фильтр IIsFilter
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Примечание. Это свойство является битовой маской, используемой с идентификатором
MD_FILTER_FLAGS.
Идентификатор свойства в метабазе
MD_FILTER_FLAGS
Идентификатор битовой маски
MD_NOTIFY_NONSECURE_PORT
Тип данных
DWORD_METADATA
Тип пользователя
IIS_MD_UT_SERVER
Значение битовой маски
0x00000002
См. также
FilterFlags
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
NotifyOrderHigh
Это свойство показывает, зарегистрирован ли фильтр с высоким приоритетом. При
возникновении уведомления зарегистрированные для него фильтры, имеющие высокий
приоритет, обрабатываются первыми. Если другие фильтры также были зарегистрированы
с высоким приоритетом, то эти фильтры будут обрабатываться в порядке их перечисления
в свойстве FilterLoadOrder.
Это свойство представляет собой один из флагов, содержащихся в свойстве FilterFlags, и
должно рассматриваться как доступное только для чтения.
Тип данных
Логический (Boolean)
Значение по умолчанию FALSE
Наследование
Не наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC/Filters/Фильтр
IIsFilter
/LM/W3SVC/N/Filters/Фильтр IIsFilter
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Примечание. Это свойство является битовой маской, используемой с идентификатором
MD_FILTER_FLAGS.
Идентификатор свойства в метабазе MD_FILTER_FLAGS
Идентификатор битовой маски
MD_NOTIFY_ORDER_HIGH
Тип данных
DWORD_METADATA
Тип пользователя
IIS_MD_UT_SERVER
Значение битовой маски
0x00080000
См. также
FilterFlags
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
NotifyOrderLow
Это свойство показывает, зарегистрирован ли фильтр с низким приоритетом. При
возникновении уведомления зарегистрированные для него фильтры, имеющие низкий
приоритет, обрабатываются последними. Если другие фильтры также были
зарегистрированы со средним приоритетом, то эти фильтры будут обрабатываться в
порядке их перечисления в свойстве FilterLoadOrder.
Это свойство представляет собой один из флагов, содержащихся в свойстве FilterFlags, и
должно рассматриваться как доступное только для чтения.
Тип данных
Логический (Boolean)
Значение по умолчанию FALSE
Наследование
Не наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC/Filters/Фильтр
IIsFilter
/LM/W3SVC/N/Filters/Фильтр IIsFilter
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Примечание. Это свойство является битовой маской, используемой с идентификатором
MD_FILTER_FLAGS.
Идентификатор свойства в метабазе MD_FILTER_FLAGS
Идентификатор битовой маски
MD_NOTIFY_ORDER_LOW
Тип данных
DWORD_METADATA
Тип пользователя
IIS_MD_UT_SERVER
Значение битовой маски
0x00020000
См. также
FilterFlags
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
NotifyOrderMedium
Это свойство показывает, зарегистрирован ли фильтр со средним приоритетом. При
возникновении уведомления зарегистрированные для него фильтры, имеющие средний
приоритет, обрабатываются после фильтров с высоким приоритетом, но перед фильтрами
с низким приоритетом. Если другие фильтры также были зарегистрированы со средним
приоритетом, то эти фильтры будут обрабатываться в порядке их перечисления в свойстве
FilterLoadOrder.
Тип данных
Логический (Boolean)
Значение по умолчанию FALSE
Наследование
Не наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC/Filters/Фильтр
IIsFilter
/LM/W3SVC/N/Filters/Фильтр IIsFilter
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Примечание. Это свойство является битовой маской, используемой с идентификатором
MD_FILTER_FLAGS.
Идентификатор свойства в метабазе MD_FILTER_FLAGS
Идентификатор битовой маски
MD_NOTIFY_ORDER_MEDIUM
Тип данных
DWORD_METADATA
Тип пользователя
IIS_MD_UT_SERVER
Значение битовой маски
0x00040000
См. также
FilterFlags
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
NotifyPreProcHeaders
Это свойство показывает, зарегистрирован ли фильтр на получение уведомлений о
завершении предварительной обработки сервером заголовков запроса. Это свойство
представляет собой один из флагов, содержащихся в свойстве FilterFlags. Оно доступно
только для чтения.
Тип данных
Логический (Boolean)
Значение по умолчанию FALSE
Наследование
Не наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC/Filters/Фильтр
IIsFilter
/LM/W3SVC/N/Filters/Фильтр IIsFilter
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Примечание. Это свойство является битовой маской, используемой с идентификатором
MD_FILTER_FLAGS.
Идентификатор свойства в метабазе
MD_FILTER_FLAGS
Идентификатор битовой маски
MD_NOTIFY_PREPROC_HEADERS
Тип данных
DWORD_METADATA
Тип пользователя
IIS_MD_UT_SERVER
Значение битовой маски
0x00004000
См. также
FilterFlags
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
NotifyReadRawData
Это свойство показывает, зарегистрирован ли фильтр на прием данных до начала какойлибо их обработки. Это свойство представляет собой один из флагов, содержащихся в
свойстве FilterFlags, и должно рассматриваться как доступное только для чтения.
Тип данных
Логический (Boolean)
Значение по умолчанию FALSE
Наследование
Не наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC/Filters/Фильтр
IIsFilter
/LM/W3SVC/N/Filters/Фильтр IIsFilter
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Примечание. Это свойство является битовой маской, используемой с идентификатором
MD_FILTER_FLAGS.
Идентификатор свойства в метабазе MD_FILTER_FLAGS
Идентификатор битовой маски
MD_NOTIFY_READ_RAW_DATA
Тип данных
DWORD_METADATA
Тип пользователя
IIS_MD_UT_SERVER
Значение битовой маски
0x00008000
См. также
FilterFlags
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
NotifySecurePort
Это свойство показывает, зарегистрирован ли фильтр на получение уведомлений только о
сеансах на защищенных портах. Это свойство представляет собой один из флагов,
содержащихся в свойстве FilterFlags, и должно рассматриваться как доступное только для
чтения.
Тип данных
Логический (Boolean)
Значение по умолчанию FALSE
Наследование
Не наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC/Filters/Фильтр
IIsFilter
/LM/W3SVC/N/Filters/Фильтр IIsFilter
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Примечание. Это свойство является битовой маской, используемой с идентификатором
MD_FILTER_FLAGS.
Идентификатор свойства в метабазе MD_FILTER_FLAGS
Идентификатор битовой маски
MD_NOTIFY_SECURE_PORT
Тип данных
DWORD_METADATA
Тип пользователя
IIS_MD_UT_SERVER
Значение битовой маски
0x00000001
См. также
FilterFlags
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
NotifySendRawData
Это свойство показывает, зарегистрирован ли фильтр на получение уведомлений об
отправке сервером необработанных данных клиенту. Это свойство представляет собой
один из флагов, содержащихся в свойстве FilterFlags, и должно рассматриваться как
доступное только для чтения.
Тип данных
Логический (Boolean)
Значение по умолчанию FALSE
Наследование
Не наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC/Filters/Фильтр
IIsFilter
/LM/W3SVC/N/Filters/Фильтр IIsFilter
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Примечание. Это свойство является битовой маской, используемой с идентификатором
MD_FILTER_FLAGS.
Идентификатор свойства в метабазе MD_FILTER_FLAGS
Идентификатор битовой маски
MD_NOTIFY_SEND_RAW_DATA
Тип данных
DWORD_METADATA
Тип пользователя
IIS_MD_UT_SERVER
Значение битовой маски
0x00000400
См. также
FilterFlags
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
NotifySendResponse
Это свойство показывает, зарегистрирован ли фильтр на получение уведомлений об
отправке сервером ответа клиенту. Это свойство представляет собой один из флагов,
содержащихся в свойстве FilterFlags, и должно рассматриваться как доступное только для
чтения.
Тип данных
Логический (Boolean)
Значение по умолчанию FALSE
Наследование
Не наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC/Filters/Фильтр
IIsFilter
/LM/W3SVC/N/Filters/Фильтр IIsFilter
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Примечание. Это свойство является битовой маской, используемой с идентификатором
MD_FILTER_FLAGS.
Идентификатор свойства в метабазе MD_FILTER_FLAGS
Идентификатор битовой маски
MD_NOTIFY_SEND_RESPONSE
Тип данных
DWORD_METADATA
Тип пользователя
IIS_MD_UT_SERVER
Значение битовой маски
0x00000040
См. также
FilterFlags
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
NotifyUrlMap
Это свойство показывает, зарегистрирован ли фильтр на получение уведомлений о
сопоставлении сервером URL-адреса физическому пути. Это свойство представляет собой
один из флагов, содержащихся в свойстве FilterFlags, и должно рассматриваться как
доступное только для чтения.
Тип данных
Логический (Boolean)
Значение по умолчанию FALSE
Наследование
Не наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC/Filters/Фильтр
IIsFilter
/LM/W3SVC/N/Filters/Фильтр IIsFilter
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Примечание. Это свойство является битовой маской, используемой с идентификатором
MD_FILTER_FLAGS.
Идентификатор свойства в метабазе MD_FILTER_FLAGS
Идентификатор битовой маски
MD_NOTIFY_URL_MAP
Тип данных
DWORD_METADATA
Тип пользователя
IIS_MD_UT_SERVER
Значение битовой маски
0x00001000
См. также
FilterFlags
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
NTAuthenticationProviders
Это свойство содержит список разделенных запятыми названий средств Windows
проверки подлинности, например встроенного в Windows метода проверки подлинности
(называемого также NTLM).
Тип данных
Строка (String)
Значение по умолчанию Пустая строка
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе Тип раздела
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе
MD_NTAUTHENTICATION_PROVIDERS
Тип пользователя
IIS_MD_UT_FILE
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
PasswordCacheTTL
Это свойство служит для методов проверки пользователей, использующих пароль. Его
значение задает интервал времени в секундах, в течение которого устаревший пароль
будет сохраняться в кэше памяти.
Тип данных
Длинное целое (Long)
Значение по умолчанию 600 секунд (10 минут)
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе Тип раздела
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_ADV_CACHE_TTL
Тип пользователя
IIS_MD_UT_SERVER
См. также
PasswordExpirePrenotifyDays
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
PasswordChangeFlags
Это свойство задает флаги, управляющие сроком действия пароля и операцией изменения
пароля, выполняемой между клиентом и сервером. Значение 0 (по умолчанию) означает
требование защищенного SSL-соединения; 1 указывает, что изменение разрешено на
незащищенных портах; 2 обозначает запрет изменения; 4 указывает, что уведомление об
окончании срока действия пароля отключено.
Тип данных
Длинное целое (Long)
Значение по умолчанию
0 (требуется подключение SSL)
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе Тип раздела
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
Информация об объекте IIS Admin Base
В следующих таблицах перечислены дополнительные сведения, которые требуются
только для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_AUTH_CHANGE_FLAGS
Тип пользователя
IIS_MD_UT_SERVER
Битовая маска по умолчанию
0x00000000
Значения битовой маски
Константа
Значение
Описание
MD_AUTH_CHANGE_UNSECURE
0x00000001
Изменение пароля
разрешено на
незащищенных портах.
MD_AUTH_CHANGE_DISABLE
0x00000002
Изменение пароля
запрещено.
MD_AUTH_ADVNOTIFY_DISABLE
0x00000004
Уведомления о скором
окончании срока действия
пароля отключены.
См. также
PasswordExpirePrenotifyDays
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
PasswordExpirePrenotifyDays
Это свойство задает число дней до истечения срока действия пароля клиента, за которое
нужно выдать предупреждение о приближении этого события.
Тип данных
Длинное целое (Long)
Значение по умолчанию 0 (дней)
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе Тип раздела
/LM/W3SVC
IisWebService
/LM/W3SVC/N
IIsWebServer
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе
MD_ADV_NOTIFY_PWD_EXP_IN_DAYS
Тип пользователя
IIS_MD_UT_SERVER
Примечания
При работе с объектом IIS Admin Base уведомления об окончании срока действия пароля
можно отключить, установив флаг MD_AUTH_ADVNOTIFY_DISABLE в свойстве
MD_AUTH_CHANGE_FLAGS.
См. также
PasswordChangeFlags
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Path
Это свойство задает физический путь, связанный с виртуальным каталогом.
Тип данных
Строка (String)
Значение по умолчанию Пустая строка
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/MSFTPSVC/N/ROOT
IIsFtpVirtualDir
/LM/MSFTPSVC/N/ROOT/ВиртуальныйFtpКаталог IIsFtpVirtualDir
/LM/W3SVC/N/ROOT
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог
IIsWebVirtualDir
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_VR_PATH
Тип пользователя
IIS_MD_UT_FILE
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
PoolIDCTimeout
Это свойство задает значение периода ожидания (в секундах) для группировки
подключений Интернета к базе данных. Значение 0 (ноль) означает отсутствие
группировки.
Тип данных
Длинное целое (Long)
Значение по умолчанию 30 (секунд)
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
/LM/W3SVC/N/ROOT
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог
IIsWebDirectory
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог/ВебФайл IIsWebFile
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_POOL_IDC_TIMEOUT
Тип пользователя
IIS_MD_UT_FILE
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
ProcessNTCRIfLoggedOn
Это свойство включает встроенную проверку подлинности Windows (NTLM), даже если
пользователь уже вошел с использованием другого метода проверки подлинности.
Тип данных
DWORD
Значение по умолчанию -1
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе Тип раздела
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе
MD_PROCESS_NTCR_IF_LOGGED_ON
Тип данных
DWORD_METADATA
Тип пользователя
IIS_MD_UT_SERVER
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
PutReadSize
Это свойство задает размер данных (в байтах), отправляемых клиенту в поле заголовка
Transfer Encoding HTTP 1.1. Обычно значения этого свойства находятся в диапазоне от 1
Кбайт до 64 Кбайт. Для приложений интрасетей лучше использовать значения, лежащие в
верхней части этого диапазона. Для Интернет-приложений предпочтительнее
использовать значения из нижней части диапазона.
Тип данных
Длинное целое (Long)
Значение по умолчанию
8192 (диапазон 1 Кбайт–64 Кбайт)
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
/LM/W3SVC/N/ROOT
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог
IIsWebDirectory
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог/ВебФайл IIsWebFile
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_PUT_READ_SIZE
Тип пользователя
IIS_MD_UT_FILE
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Realm
Это свойство определяет область, которая должна использоваться IIS для проверки
подлинности клиента, пытающегося получить доступ к ресурсу, использующему краткую
или расширенную краткую проверку подлинности.
Тип данных
Строка (String)
Значение по умолчанию Пустая строка
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/MSFTPSVC/N
IIsFtpServer
/LM/MSFTPSVC
IIsFtpService
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
/LM/W3SVC/N/ROOT
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог
IIsWebDirectory
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог/ВебФайл IIsWebFile
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_REALM
Тип пользователя
IIS_MD_UT_FILE
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
RedirectHeaders
Это свойство задает дополнительные заголовки для переназначения. Можно указывать
несколько заголовков, разделяя их парой символов «возврат каpeтки/перевод строки»
(CRLF). После последнего заголовка этой пары символов быть не должно.
Тип данных
Строка (String)
Значение по умолчанию Пустая строка
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
/LM/W3SVC/N/ROOT
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог
IIsWebDirectory
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог/ВебФайл IIsWebFile
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_REDIRECT_HEADERS
Тип пользователя
IIS_MD_UT_FILE
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
ScriptMaps
Это свойство указывает расширения имен файлов приложений, используемые для
сопоставления в обработчике сценариев. Строка списка имеет вид Расширение,
ОбработчикСценариев, Флаги, ВключенныеКоманды. Атрибут Расширение задает
расширение имени файла (например, .htm), ОбработчикСценариев указывает полный путь
к библиотеке DLL, Флаги представляет собой целое число, соответствующее выбранной
модели поведения (описание см. ниже), а ВключенныеКоманды содержит список команд,
обрабатываемой этой библиотекой DLL ISAPI.
Примечание. В IIS версии 4.0 и более ранних в синтаксисе этого свойства указывались
не включенные команды. В версии 5.1, если ни одной команды не указано, принимается
значение «все команды». Рекомендуется перечислять команды, которые будет
обрабатывать ISAPI-фильтр или расширение.
Для каждого сопоставления расширений возможны три флага, поэтому атрибут Флаги
может иметь одно из трех значений.
Возможные значения атрибута Флаги
Описание
1
Сценарии могут выполняться в каталогах,
имеющих разрешение «Сценарий». Если
данный флаг не установлен, то сценарии
могут выполняться только в каталогах с
разрешением «Выполнение».
4
Перед тем как запустить обработчик
сценариев, сервер пытается получить
доступ к файлу, указанному в части
PATH_INFO строки URL. Если файл не
существует или его нельзя открыть, клиенту
возвращается ошибка.
Установлены оба описанных выше флага.
5
Например, чтобы сопоставить библиотеке DLL ISAPI с именем «Test.dll» расширение
«.htm», нужно использовать следующую строку:
".htm,C:\WINNT40\System32\inetsrv\Test.dll,5,GET, HEAD, POST"
Тип данных
Список (строка)
Значение по умолчанию Пустой список
Наследование
Наследуемое
Примечание. В IIS допускается использование "*" вместо части расширения имени
файла, что позволяет эффективно перенаправлять все запросы на соответствующий
ОбработчикСценариев. Эта возможность полезна, если требуется применить специальное
расширение ISAPI, обрабатывающее запросы от файлов всех типов.
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
/LM/W3SVC/N/ROOT
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог
IIsWebDirectory
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог/ВебФайл IIsWebFile
Информация об объекте IIS Admin Base
В следующих таблицах перечислены дополнительные сведения, которые требуются
только для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе
MD_SCRIPT_MAPS
Тип данных
MULTISZ_METADATA
Значение битовой маски по умолчанию Пустое
Тип пользователя
IIS_MD_UT_FILE
Значения битовой маски
Константа
Значение
Описание
MD_SCRIPTMAPFLAG_SCRIPT
0x00000001
Запуск в каталогах,
имеющих разрешение
«Сценарий».
MD_SCRIPTMAPFLAG_CHECK_PATH_INFO 0x00000004
Сервер проверяет
PATH_INFO.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
SecureBindings
Это свойство задает строку, которую IIS использует для выяснения того, какие
защищенные точки входа в сеть используются экземпляром сервера. Строка имеет формат
IP:Порт.
Примечание. Компонент IP строки не является обязательным. Если он не указан, IIS
предполагает, что разрешены любые IP-адреса.
Тип данных
Список (строка)
Значение по умолчанию Пустой список
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующем разделе метабазы:
Путь в метабазе Тип раздела
/LM/W3SVC/N
IIsWebServer
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_SECURE_BINDINGS
Тип данных
MULTISZ_METADATA
Тип пользователя
IIS_MD_UT_SERVER
См. также
ServerBindings
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
ServerAutoStart
Это свойство определяет, должен ли экземпляр сервера запускаться автоматически при
запуске службы.
Это свойство автоматически сбрасывается при остановке или перезапуске экземпляра
сервера, чтобы поддерживать состояние во время перезапусков службы. Например, при
остановке сервера значение этого свойства устанавливается в FALSE, чтобы в случае
остановки и перезапуска службы сервер продолжал оставаться остановленным.
Аналогично, при запуске сервера это свойство будет установлено в значение TRUE, что
позволит серверу оставаться запущенным во время работы службы.
Тип данных
DWORD
Значение по умолчанию -1
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/MSFTPSVC
IIsFtpService
/LM/MSFTPSVC/N IIsFtpServer
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_SERVER_AUTOSTART
Тип данных
DWORD_METADATA
Тип пользователя
IIS_MD_UT_SERVER
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
ServerBindings
Это свойство задает строку, которую IIS использует для выяснения того, какие точки
входа в сеть используются экземпляром сервера. Строка имеет формат IP:Порт:ИмяУзла.
Примечание. Параметры IP и ИмяУзла не являются обязательными. Если параметр не
указан, то считается, что разрешены все их возможные значения.
Тип данных
Список (строка)
Значение по умолчанию Пустой список
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/MSFTPSVC
IIsFtpService
/LM/MSFTPSVC/N IIsFtpServer
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_SERVER_BINDINGS
Тип данных
MULTISZ_METADATA
Тип пользователя
IIS_MD_UT_SERVER
См. также
SecureBindings
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
ServerComment
Это свойство задает описание экземпляра сервера.
Тип данных
Строка (String)
Значение по умолчанию Пустая строка
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/MSFTPSVC
IIsFtpService
/LM/MSFTPSVC/N IIsFtpServer
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_SERVER_COMMENT
Тип пользователя
IIS_MD_UT_SERVER
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
ServerConfigAutoPWSync
Это свойство представляет собой флаг, содержащийся в свойстве ServerConfigFlags,
определяющем конфигурацию сервера. Значение TRUE означает, что сервер может
выполнять автоматическую синхронизацию пароля анонимных пользователей между вебдиспетчером проверки подлинности (WAM) и диспетчером проверки подлинностей
Microsoft Windows.
Тип данных
Логический (Boolean)
Значение по умолчанию FALSE
Наследование
Не наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC/INFO IIsWebInfo
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Примечание. Это свойство является битовой маской, используемой с идентификатором
MD_SERVER_CONFIGURATION_INFO.
Идентификатор свойства в метабазе
MD_SERVER_CONFIGURATION_INFO
Идентификатор битовой маски
MD_SERVER_CONFIG_AUTO_PW_SYNC
Тип данных
DWORD_METADATA
Тип пользователя
IIS_MD_UT_SERVER
Значение битовой маски
0x00000008
См. также
ServerConfigFlags
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
ServerConfigFlags
Это свойство содержит флаги, определяющие конфигурацию сервера, устанавливаемую
при запуске. Флаги, содержащиеся в этом свойстве, индивидуально определены в
следующих свойствах:
ServerConfigAutoPWSync
ServerConfigSSL128
ServerConfigSSLAllowEncrypt ServerConfigSSL40
Тип данных
Длинное целое (Long)
Значение по умолчанию Не задано
Наследование
Не наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующем разделе метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC/INFO IIsWebInfo
Информация об объекте IIS Admin Base
В следующих таблицах перечислены дополнительные сведения, которые требуются
только для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе
MD_SERVER_CONFIGURATION_INFO
Тип данных
DWORD_METADATA
Тип пользователя
IIS_MD_UT_SERVER
Значение битовой маски
0x00000000 (не задано)
Значения битовой маски
Константа
Значение
Описание
MD_SERVER_CONFIG_SSL_40
0x00000001
На сервере возможно
использование 40битного SSL.
MD_SERVER_CONFIG_SSL_128
0x00000002
На сервере возможно
использование 128битного SSL.
MD_SERVER_CONFIG_ALLOW_ENCRYPT 0x00000004
На сервере возможно
использование
шифрования.
MD_SERVER_CONFIG_AUTO_PW_SYNC
0x00000008
На сервере разрешено
использование
библиотеки DLL
дополнительного
средства проверки
подлинности (Iissuba.dll),
что позволяет выполнять
автоматическую
синхронизацию паролей
анонимной учетной
записи пользователя.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
ServerConfigSSL128
Это свойство представляет собой флаг, содержащийся в свойстве ServerConfigFlags,
определяющем конфигурацию сервера. Значение TRUE показывает, что на сервере
установлены средства работы с 128-битным SSL.
Тип данных
Логический (Boolean)
Значение по умолчанию FALSE
Наследование
Не наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующем разделе метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC/INFO IIsWebInfo
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Примечание. Это свойство является битовой маской, используемой с идентификатором
MD_SERVER_CONFIGURATION_INFO.
Идентификатор свойства в метабазе
MD_SERVER_CONFIGURATION_INFO
Идентификатор битовой маски
MD_SERVER_CONFIG_SSL_128
Тип данных
DWORD_METADATA
Тип пользователя
IIS_MD_UT_SERVER
Значение битовой маски
0x00000002
См. также
ServerConfigFlags
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
ServerConfigSSL40
Это свойство представляет собой флаг, содержащийся в свойстве ServerConfigFlags,
определяющем конфигурацию сервера. Значение TRUE показывает, что на сервере
установлены средства работы с 40-битным SSL.
Тип данных
Логический (Boolean)
Значение по умолчанию FALSE
Наследование
Не наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующем разделе метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC/INFO IIsWebInfo
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Примечание. Это свойство является битовой маской, используемой с идентификатором
MD_SERVER_CONFIGURATION_INFO.
Идентификатор свойства в метабазе
MD_SERVER_CONFIGURATION_INFO
Идентификатор битовой маски
MD_SERVER_CONFIG_SSL_40
Тип данных
DWORD_METADATA
Тип пользователя
IIS_MD_UT_SERVER
Значение битовой маски
0x00000001
См. также
ServerConfigFlags
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
ServerConfigSSLAllowEncrypt
Это свойство представляет собой флаг, содержащийся в свойстве ServerConfigFlags,
определяющем конфигурацию сервера. Значение TRUE показывает, что сервер разрешает
использование шифрования.
Тип данных
Логический (Boolean)
Значение по умолчанию FALSE
Наследование
Не наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующем разделе метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC/INFO IIsWebInfo
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Примечание. Это свойство является битовой маской, используемой с идентификатором
MD_SERVER_CONFIGURATION_INFO.
Идентификатор свойства в метабазе
MD_SERVER_CONFIGURATION_INFO
Идентификатор битовой маски
MD_SERVER_CONFIG_ALLOW_ENCRYPT
Тип данных
DWORD_METADATA
Тип пользователя
IIS_MD_UT_SERVER
Значение битовой маски
0x00000004
См. также
ServerConfigFlags
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
ServerListenBacklog
Это свойство задает число ожидающих обработки соединителей, которые могут быть
помещены в очередь. Это значение основано на параметре операционной системы
AcceptEx и на размере сервера, указанном в свойстве ServerSize. Значения данного
свойства могут лежать в диапазоне от 5 до 500.
Тип данных
Длинное целое (Long)
Значение по умолчанию Зависит от ServerSize
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/MSFTPSVC
IIsFtpService
/LM/MSFTPSVC/N IIsFtpServer
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе
MD_SERVER_LISTEN_BACKLOG
Тип пользователя
IIS_MD_UT_SERVER
См. также
ServerSize
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
ServerListenTimeout
Это свойство определяет интервал времени в секундах, в течение которого сервер должен
ожидать, прежде чем отключить подключившегося, но не отправляющего какие бы то ни
было данные клиента.
Тип данных
Длинное целое (Long)
Значение по умолчанию 120 секунд
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/MSFTPSVC
IIsFtpService
/LM/MSFTPSVC/N IIsFtpServer
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе
MD_SERVER_LISTEN_TIMEOUT
Тип пользователя
IIS_MD_UT_SERVER
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
ServerSize
Это свойство определяет размер сервера в терминах числа обрабатываемых за день
клиентских запросов. Значение 0 обозначает небольшой веб-узел, на котором
обрабатывается менее 10 000 запросов за сутки; значение 1 обозначает узел среднего
размера, принимающий от 10 000 до 100 000 запросов в день; наконец, значение 2
описывает большой узел, обрабатывающий в день более 100 000 запросов. Значение этого
свойства используется при вычислении значения свойства ServerListenBacklog.
Тип данных
Длинное целое (Long)
Значение по умолчанию 1 (средний)
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/MSFTPSVC
IIsFtpService
/LM/MSFTPSVC/N IIsFtpServer
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
Информация об объекте IIS Admin Base
В следующих таблицах перечислены дополнительные сведения, которые требуются
только для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_SERVER_SIZE
Тип пользователя
IIS_MD_UT_SERVER
Значения битовой маски
Константа
Значение
Описание
MD_SERVER_SIZE_SMALL
0x00000000
Поступает менее 10 000
запросов в день.
MD_SERVER_SIZE_MEDIUM
0x00000001
Поступает от 10 000 до
100 000 запросов в день.
MD_SERVER_SIZE_LARGE
0x00000002
Поступает более 100 000
запросов в день.
См. также
ServerListenBacklog
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
ServerState
Это свойство показывает текущее состояние экземпляра сервера. Вот возможные
состояния и соответствующие им коды:
1
Запуск
2
Запущен
3
Остановка
4
Остановлен
5
Приостановка
6
Приостановлен
7
Возобновление
Это свойство доступно только для чтения.
Тип данных
Длинное целое (Long)
Значение по умолчанию Не задано
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/MSFTPSVC/N IIsFtpServer
/LM/W3SVC/N
IIsWebServer
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_SERVER_STATE
Тип пользователя
IIS_MD_UT_SERVER
Значения битовой маски
Константа
Значение
Описание
MD_SERVER_STATE_STARTING
0x00000001
Сервер запускается.
MD_SERVER_STATE_STARTED
0x00000002
Сервер запущен.
MD_SERVER_STATE_STOPPING
0x00000003
Сервер останавливается.
MD_SERVER_STATE_STOPPED
0x00000004
Сервер остановлен.
MD_SERVER_STATE_PAUSING
0x00000005
Сервер
приостанавливается.
MD_SERVER_STATE_PAUSED
0x00000006
Сервер приостановлен.
MD_SERVER_STATE_CONTINUING
0x00000007
Сервер возобновляет
работу.
Примечания
Чтобы при работе с объектом IIS Admin Base отправить команды серверу, используйте
свойство MD_SERVER_COMMAND.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
ShutdownTimeLimit
Это свойство задает в секундах промежуток времени, в течение которого после
достижения времени повторного запуска приложения IIS ожидает выполнения запросов
старого приложения в старом процессе DLLHOST.
Тип данных
DWORD
Значение по умолчанию 600 секунд
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC
IISWebService
/LM/W3SVC/n
IISWebServer
/LM/W3SVC/n/ROOT
IIsWebVirtualDir
/LM/W3SVC/n/ROOT/ВиртуальныйВебКаталог
IIsWebVirtualDir
/LM/W3SVC/n/ROOT/ВиртуальныйВебКаталог/ВебКаталог IISWebDirectory
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_Shutdown_Time_Limit
Тип данных
DWORD_METADATA
Тип пользователя
IIS_MD_UT_WAM
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
SSIExecDisable
Это свойство разрешает или запрещает использование директив #exec включений на
стороне сервера в данном пути.
Тип данных
Логический (Boolean)
Значение по умолчанию
FALSE (директивы SSI включены)
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
/LM/W3SVC/N/ROOT
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог
IIsWebDirectory
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог/ВебФайл IIsWebFile
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_SSI_EXEC_DISABLED
Тип пользователя
IIS_MD_UT_FILE
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
SSLUseDSMapper
Это свойство определяет, будет ли IIS использовать собственное средство сопоставления
сертификатов, или воспользуется средством сопоставления сертификатов, предлагаемым
службой справочников Windows. Если свойство SSLUseDSMapper имеет значение
FALSE, то IIS будет использовать собственное средство сопоставления сертификатов.
Тип данных
Логический (Boolean)
Значение по умолчанию FALSE
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе Тип раздела
/LM/W3SVC
IIsWebService
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_SSL_USE_DS_MAPPER
Тип пользователя
IIS_MD_UT_SERVER
См. также
AccessSSLFlags
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
UNCAuthenticationPassthrough
Это свойство включает или отключает передачу проверки подлинности пользователей для
доступа к виртуальному корню UNC (для методов проверки подлинности,
поддерживающих делегирование).
Примечание. Встроенная в Windows проверка подлинности (NTLM) не поддерживает
делегирование.
Тип данных
Логический (Boolean)
Значение по умолчанию FALSE
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
/LM/W3SVC/N/ROOT
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог
IIsWebDirectory
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог/ВебФайл IIsWebFile
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_VR_PASSTHROUGH
Тип пользователя
IIS_MD_UT_FILE
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
UNCPassword
Это свойство содержит зашифрованный пароль, используемый для получения доступа к
виртуальным корням UNC.
Тип данных
Строка (String)
Значение по умолчанию Пустая строка
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/MSFTPSVC/N/ROOT
IIsFtpVirtualDir
/LM/MSFTPSVC/N/ROOT/ВиртуальныйFtpКаталог IIsFtpVirtualDir
/LM/W3SVC/N/ROOT
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог
IIsWebVirtualDir
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_VR_PASSWORD
Тип пользователя
IIS_MD_UT_FILE
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
UNCUserName
Это свойство содержит имя пользователя для виртуальных корней UNC.
Тип данных
Строка (String)
Значение по умолчанию Пустая строка
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/MSFTPSVC/N/ROOT
IIsFtpVirtualDir
/LM/MSFTPSVC/N/ROOT/ВиртуальныйFtpКаталог IIsFtpVirtualDir
/LM/W3SVC/N/ROOT
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог
IIsWebVirtualDir
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_VR_USERNAME
Тип пользователя
IIS_MD_UT_FILE
См. также
UncPassword, Path
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
UploadReadAheadSize
Это свойство задает число байт, которое веб-сервер считывает в буфер и передает ISAPIрасширению. Для каждого запроса эта операция выполняется один раз. Все
дополнительные данные ISAPI-расширение получает непосредственно от клиента.
Допустимый диапазон значений — от 0 до &HFFFFFFFF (4 Гбайт).
Тип данных
Длинное целое (Long)
Значение по умолчанию 49152 (байт)
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
/LM/W3SVC/N/ROOT
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог
IIsWebDirectory
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог/ВебФайл IIsWebFile
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе
MD_UPLOAD_READAHEAD_SIZE
Тип пользователя
IIS_MD_UT_FILE
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
UseDigestSSP
Этот ключ метабазы используется при расширенной краткой проверке подлинности как
переключатель между программами интерфейса SSPI для краткой проверки подлинности
и расширенной краткой проверки подлинности. Если свойство получает значение TRUE,
используется программа SSPI для расширенной краткой проверки подлинности. Во всех
остальных случаях (FALSE, пусто или не задано), IIS использует основную программу
краткой проверки подлинности SSPI.
Тип данных
Логический (Boolean)
Значение по умолчанию FALSE
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе
Тип раздела
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
/LM/W3SVC/N/ROOT
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог
IIsWebVirtualDir
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог
IIsWebDirectory
/LM/W3SVC/N/ROOT/ВиртуальныйВебКаталог/ВебКаталог/ВебФайл IIsWebFile
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_USE_DIGEST_SSP
Тип пользователя
IIS_MD_UT_FILE
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
UseHostName
Это свойство определяет, будет ли сервер возвращать свое DNS-имя (по умолчанию
являющееся именем компьютера) при выполнении перенаправлений. Если значением
этого свойства является FALSE, то вместо имени узла будет возвращаться его IP-адрес.
Примечание. Если клиент отправляет заголовок узла, сервер будет использовать
указанное в нем значение свойства UseHostName, независимо от значения, заданного на
сервере.
Тип данных
Логический (Boolean)
Значение по умолчанию FALSE
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе Тип раздела
/LM/W3SVC
IIsWebService
/LM/W3SVC/N
IIsWebServer
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_USE_HOST_NAME
Значение по умолчанию
DWORD_METADATA
Тип пользователя
IIS_MD_UT_SERVER
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
WAMUserName
Это свойство задает имя пользователя учетной записи, которую IIS будет использовать по
умолчанию в качестве удостоверения приложений COM+ для вновь создаваемых внешних
приложений IIS. Значения этого свойства и его родственного свойства WAMUserPass
задаются при установке IIS и соответствуют имени пользователя и паролю учетной записи
Microsoft Windows, создаваемой в это же время. Рекомендуется не изменять значение
этого свойства. Если все же возникла такая необходимость, присвойте этому свойству имя
действительной учетной записи Windows, а свойству WAMUserPass — соответствующий
ей пароль.
Примечание. Изменение значений этого свойства и свойства WAMUserPass может
нарушить работу существующих внешних приложений IIS. Вы можете синхронизировать
удостоверения приложения, отредактировав с помощью служб компонентов имя
пользователя и пароль, находящиеся на вкладке Удостоверение окна свойств каждого из
пакетов. Дополнительные сведения см. в описании WAMUserPass. Значения этих свойств
не влияют на внутренние приложения.
Тип данных
Строка (String)
Значение по умолчанию
IWAM_ИмяКомпьютера, где
ИмяКомпьютера соответствует имени
компьютера, на котором установлен IIS.
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе Тип раздела
/LM/W3SVC
IIsWebService
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_WAM_USER_NAME
Тип пользователя
IIS_MD_UT_FILE
См. также
WAMUserPass
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
WAMUserPass
Это свойство задает пароль учетной записи, которую IIS будет использовать по
умолчанию в качестве удостоверения приложений COM+ для вновь создаваемых внешних
приложений IIS. Значения этого свойства и его родственного свойства WAMUserName
задаются при установке IIS и соответствуют имени пользователя и паролю учетной записи
Microsoft Windows (IWAM_ИмяКомпьютера, где ИмяКомпьютера соответствует имени
компьютера, на котором установлен IIS), создаваемой в это же время. Рекомендуется не
изменять значение этого свойства. Если все же возникнет такая необходимость, пароль
учетной записи Windows нужно изменить в соответствии с этим новым значением; кроме
того, нужно также синхронизировать удостоверения существующих внешних приложений
IIS, отредактировав с помощью служб компонентов имя пользователя и пароль,
присутствующие на вкладке Удостоверение окна свойств каждого пакета. Значения этих
свойств не влияют на пакеты внутренних приложений.
Тип данных
Строка (String)
Значение по умолчанию
(Порождается программой установки во
время установки IIS)
Наследование
Наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно в следующих разделах метабазы:
Путь в метабазе Тип раздела
/LM/W3SVC
IIsWebService
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_WAM_PWD
Тип пользователя
IIS_MD_UT_FILE
См. также
WAMUserName
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Win32Error
Это свойство метабазы сообщает код ошибки Microsoft Win32.
Тип данных
Длинное целое (Long)
Значение по умолчанию
0
Наследование по умолчанию Не наследуемое
Разделы, в которых доступно данное свойство
Это свойство доступно во всех разделах метабазы.
Информация об объекте IIS Admin Base
В следующей таблице перечислены дополнительные сведения, которые требуются только
для программ, использующих объект IIS Admin Base.
Идентификатор свойства в метабазе MD_WIN32_ERROR
Тип пользователя
IIS_MD_UT_SERVER
Дополнительные сведения о кодах ошибок Microsoft Win32 содержатся в разделе «Win32
Error Codes» SDK платформы и на веб-узле MSDN Online.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Сравнение типов данных ADSI и объекта Base
Типы данных свойств ADSI можно использовать при написании сценариев, в то время как
типы данных объекта IIS Admin Base применимы только при создании программ,
использующих объект IIS Admin Base. Различие проистекает из того, что в языках
создания сценариев, таких как Microsoft® JScript® и Visual Basic® Scripting Edition
(VBScript), типы данных реализованы по-другому, нежели в таких языках, как C или C++.
В следующей таблице приведены типы данных ADSI и соответствующие им типы данных
объекта IIS Admin Base.
Тип данных ADSI
Тип данных объекта Base
Long, Boolean, Integer
DWORD_METADATA
String
STRING_METADATA
ExpandSz
EXPANDSZ_METADATA
IPSec, NTACL
BINARY_METADATA
List
MULTISZ_METADATA
MimeMapList
MULTISZ_METADATA
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Встроенные объекты ASP
Active Server Pages (ASP) реализует классы, которые позволяют компонентам получать
доступ к методам и свойствам встроенных объектов ASP. Объект ObjectContext
предоставляет методы, которые возвращают интерфейс к одному из встроенных объектов
ASP. Компонент может использовать эти интерфейсы для получения доступа к методам и
свойствам встроенных объектов.
В приведенной ниже таблице перечислены классы встроенных объектов:
Класс
Использование
Объект Application
Вызывает методы и свойства объекта Application.
Объект ASPError
Вызывает методы и свойства объекта Server.
Объект ObjectContext
Возвращает встроенные объекты и обеспечивает
методы, используемые при обработке транзакций.
Объект Request
Вызывает методы и свойства объекта Request.
Объект Response
Вызывает методы и свойства объекта Response.
ScriptingContext
Возвращает встроенные объекты: объект Application,
объект Request, объект Response, объект Server или
объект Session. Это — устаревший подход. Вместо
этого класса следует использовать ObjectContext.
Объект Server
Вызывает методы и свойства объекта Server.
Объект Session
Вызывает методы и свойства объекта Session.
Чтобы использовать ObjectContext и встроенные объекты в компонентах Visual Basic,
необходимо включить в проект Visual Basic ссылку на библиотеку объектов Microsoft®
ASP.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Объект Application
Объект Application может быть использован для предоставления совместного доступа к
информации всем пользователям данного приложения. Приложением на основе ASP
называются все ASP-файлы, расположенные в виртуальном каталоге и всех его
подкаталогах. Поскольку объект Application может использоваться совместно
несколькими пользователями, методы Lock и Unlock служат для того, чтобы несколько
пользователей не могли изменять свойство одновременно.
Синтаксис
Application.метод
Семейства
Семейство
Application
Contents
Содержит все элементы, добавленные к приложению командами
сценария.
Семейство
Application
StaticObjects
Содержит все объекты, добавленные к сеансу с помощью тега
<OBJECT>.
Методы
Contents.Remove
Метод Contents.Remove удаляет элемент из семейства Contents
объекта Application.
Contents.RemoveAll
Метод Contents.RemoveAll удаляет все элементы из семейства
Contents объекта Application.
Lock
Метод Lock запрещает изменение свойств объекта Application
другими клиентами.
Unlock
Метод Unlock позволяет другим клиентам изменять свойства
объекта Application.
События
Application_OnEnd
Application_OnStart
Сценарии для всех перечисленных выше событий описываются в файле Global.asa.
Дополнительные сведения об этих событиях и файле Global.asa см. в Справочнике по
Global.asa.
Примечания
Значения могут быть сохранены в семействах Application. Сведения, хранимые в
семействах Application, доступны из приложения и имеют приложение в качестве области
определения. Приведенный ниже сценарий демонстрирует хранение двух типов
переменных.
<%
Application("greeting") = "Добро пожаловать на мой веб-узел!"
Application("num") = 25
%>
Каждая из этих переменных становится членом семейства Application Contents.
Можно также присвоить экземпляр компонента переменной, которая имеет приложение
областью определения. Если экземпляр компонента присваивается переменной с
помощью метода Server.CreateObject, переменная будет членом семейства
Application.Contents. Если переменная присвоена с помощью тега <OBJECT>, она будет
членом семейства Application StaticObjects.
Следует быть очень внимательным при присвоении экземпляра компонента переменной с
приложением в качестве области определения, поскольку некоторые компоненты не
предусматривают приложение в качестве области определения. Дополнительные сведения
см. в SDK платформы.
Если экземпляр компонента присваивается переменной в семействе Application Contents,
а в качестве основного языка сценариев используется Visual Basic® Scripting Edition
(VBScript), необходимо использовать ключевое слово Set. Это иллюстрируется
приведенным ниже сценарием.
<% Set Application("Obj1") = Server.CreateObject("MyComponent") %>
Можно ссылаться на методы и свойства объекта MyComponent на других веб-страницах с
помощью сценария
<% Application("Obj1").MyObjMethod %>
или извлекая локальную копию объекта и используя приведенный ниже фрагмент
сценария
<%
Set MyLocalObj1 = Application("Obj1")
MyLocalObj1.MyObjMethod
%>
Другой способ создания объекта, имеющего в качестве области определения приложение,
состоит в использовании тега <OBJECT> в файле Global.asa. Дополнительные сведения
см. в разделе Справочник по Global.asa.
Встроенные объекты не могут быть сохранены в объекте Application. Например, каждая
из приведенных ниже строк будет возвращать ошибку.
<%
Set
Set
Set
Set
Set
Set
%>
Application("var1")
Application("var2")
Application("var3")
Application("var4")
Application("var5")
Application("var6")
=
=
=
=
=
=
Session
Request
Response
Server
Application
ObjectContext
Следует иметь в виду потоковую модель компонентов, которым присваивается
приложение в качестве области определения. Потоковая модель, использованная при
разработке компонента окажет существенное влияние на возможность присвоения
экземпляра компонента переменной в одном из семейств Application.
Если массив хранится в объекте Application, не следует пытаться непосредственно
изменить элементы хранимого массива. Например, следующий сценарий не будет
работать:
<% Application("StoredArray")(3) = "new value" %>
Это происходит из-за того, что объект Application реализован как семейство. Элемент
массива StoredArray(3) не получает нового значения. Вместо этого, значение будет
включено в семейство объекта Application и перезапишет любую информацию, которая
была ранее сохранена в этом месте.
При хранении массива в объекте Application настоятельно рекомендуется извлекать
копию массива перед извлечением или изменением любых элементов массива. Когда
изменение массива закончено, следует снова сохранить массив в объекте Application,
чтобы сохранить все внесенные изменения. Это показано в приведенном ниже сценарии.
---file1.asp--<%
'Создание и инициализация массива.
dim MyArray()
Redim MyArray(5)
MyArray(0) = "привет"
MyArray(1) = "другая строка"
'Сохранение массива в объекте Application.
Application.Lock
Application("StoredArray") = MyArray
Application.Unlock
Server.Transfer("file2.asp")
%>
---file2.asp--<%
'Извлечение массива из объекта Application
'и изменение его второго элемента.
LocalArray = Application("StoredArray")
LocalArray(1) = " всем"
'Печать строки «привет всем.»
Response.Write(LocalArray(0)&LocalArray(1))
'Восстановление массива в объекте Application.
'Это заменяет значения в StoredArray новыми значениями.
Application.Lock
Application("StoredArray") = LocalArray
Application.Unlock
%>
Пример
Приведенный ниже пример использует переменную приложения NumVisits для хранения
числа обращений к определенной странице. Метод Lock вызывается для обеспечения
доступа и изменения значения NumVisits только текущим клиентом. Последующий вызов
метода Unlock позволяет другим пользователям обращаться к объекту Application.
<%
Application.Lock
Application("NumVisits") = Application("NumVisits") + 1
Application.Unlock
%>
Это приложение просмотрено
<%= Application("NumVisits") %> раз!
Примеры работающих ASP-файлов, которые используют объект Application, см. в
подразделе «Построение приложений ASP» под заголовком Примеры ASP в разделе IIS
пакета SDK или на веб-узле MSDN Online - Internet Information Services.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Семейства Application
Объект Application поддерживает следующие семейства:


Contents
StaticObjects
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Семейство Application Contents
Семейство Contents содержит все элементы, добавленные к приложению командами
сценария. Семейство Contents можно использовать для получения списка элементов,
которые получили приложение в качестве области определения или для указания
определенного элемента, являющегося объектом операции. С помощью методов Remove и
RemoveAll можно удалять элементы из семейства.
Синтаксис
Application.Contents(Ключ)
Параметры
Ключ
Указывает имя извлекаемого элемента.
Методы
Contents.Remove
Удаляет элемент из семейства.
Contents.RemoveAll
Удаляет все элементы из семейства.
Примечания
Семейство Application.Contents содержит те элементы, которые были объявлены на
уровне приложения без помощи тегов <OBJECT>. Оно будет включать и объекты,
созданные с помощью Server.CreateObject, и скалярные переменные, установленные в
объявлении Application. В приведенном ниже сценарии, например, и strHello, и
objCustom будут членами семейства Application.Contents:
<%
Application("strHello") = "Привет"
Set Application("objCustom") = Server.CreateObject("MyComponent") %>
Семейство Application.Contents поддерживает циклы For...Each и For...Next.
Приведенный ниже сценарий иллюстрирует каждый из этих методов перебора семейства
Application.Contents:
<%
Application("strText1") = "1234567890"
Application("strText2") = "ABCDEFGHIJ"
Application("strText3") = "A1B2C3D4E5"
%>
<%
For Each Key in Application.Contents
Response.Write Key + " = " + Application(Key) + "<BR>"
Next
%>
<%
For intItem = 1 to Application.Contents.Count
Response.Write CStr(intItem) + " = "
Response.Write Application.Contents(intItem) + "<BR>"
Next
%>
Примеры работающих ASP-файлов, которые используют семейство Application.Contents,
см. в подразделе «Построение приложений ASP» под заголовком Примеры ASP в разделе
IIS пакета SDK или на веб-узле MSDN Online - Internet Information Services.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Семейство Application StaticObjects
Семейство StaticObjects содержит все объекты, созданные с помощью тегов <OBJECT>
внутри области определения объекта Application. Семейство может быть использовано
для определения значения конкретного свойства объекта или перебора семейства и
извлечения всех свойств статических объектов.
Синтаксис
Application.StaticObjects(Ключ)
Параметры
Ключ
Указывает имя извлекаемого элемента.
Примечания
Управляющая структура цикла может быть использована для организации цикла по
ключам семейства StaticObjects. Это показано в приведенном ниже примере.
<%
Dim strKey
For Each strKey In Application.StaticObjects
Response.Write strKey & " = <i>(object)</i><BR>"
Next
%>
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Методы Application
Объект Application предоставляет следующие методы:




Contents.Remove
Contents.RemoveAll
Lock
Unlock
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Contents.Remove
Метод Application.Contents.Remove удаляет элемент из семейства.
Синтаксис
Application.Contents.Remove(имя|индекс)
Параметры
имя
Идентификатор удаляемого элемента
индекс
Смещение, показывающее номер элемента в списке, который нужно удалить.
Примечания
В качестве входного параметра метод Contents.Remove принимает или число, или строку.
Если входной параметр является строкой, метод будет искать элемент с указанным
именем и удалит его. Если входной параметр — целое число, метод отсчитает указанное
число элементов от начала семейства и удалит соответствующий элемент.
Пример
В приведенном ниже примере к семейству Application.Contents добавляется два
элемента, а затем удаляется второй из них.
<%
Application("strFirst")=("Первый элемент")
Application("strSecond")=("Второй элемент")
Application.Contents.Remove("strFirst")
%>
См. также
Contents.RemoveAll
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Contents.RemoveAll
Метод Application.Contents.RemoveAll удаляет все элементы, добавленные к семейству
Application.Contents.
Синтаксис
Application.Contents.RemoveAll()
См. также
Contents.Remove
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Lock
Метод Lock блокирует возможность изменения другими клиентами переменных,
хранимых в объекте Application, гарантируя, что одновременно только один клиент
может изменить или получить доступ к переменным объекта Application. Если метод
Unlock не используется в явном виде, сервер разблокирует объект Application при
завершении обработки файла .asp или истечении времени ожидания.
Синтаксис
Application.Lock
Пример
<%
Application.Lock
Application("NumVisits") = Application("NumVisits") + 1
Application("datLastVisited") = Now()
Application.Unlock
%>
Это приложение просмотрено
<%= Application("NumVisits") %> раз!
В приведенном выше примере метод Lock обеспечивает доступ к переменной NumVisits
со стороны только одного пользователя в каждый момент времени. Если приложение не
заблокировано, два клиента могут одновременно попытаться увеличить значение
переменной NumVisits.
Область применения
Application Object
См. также
Unlock
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Unlock
Метод Unlock позволяет другим клиентам изменять переменные, хранимые в объекте
Application, после блокировки их с помощью метода Lock. Если этот метод не
используется в явном виде, сервер разблокирует объект Application при завершении
обработки ASP-файла или истечении времени ожидания.
Синтаксис
Application.Unlock
Пример
<%
Application.Lock
Application("NumVisits") = Application("NumVisits") + 1
Application("datLastVisited") = Now()
Application.Unlock
%>
Это приложение просмотрено
<%= Application("NumVisits") %> раз!
В приведенном выше примере метод Unlock освобождает объект, чтобы следующий
клиент мог увеличить значение NumVisits.
Примечание. Метод Lock обладает эффектом накопления; то есть, если сценарий
вызывает Lock несколько раз, для полного разблокирования приложения он должен
вызвать Unlock такое же число раз. Если это не будет сделано, приложение останется
заблокированным до завершения выполнения сценария.
Область применения
Объект Application
См. также
Lock
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Объект ASPError
Объект ASPError можно использовать для получения информации о состоянии ошибки,
которая произошла в сценарии на ASP-странице. Объект ASPError возвращается методом
Server.GetLastError. Объект ASPError предоставляет свойства, доступные только для
чтения.
Синтаксис
ASPError.свойство
Свойства
ASPCode
Возвращает код ошибки, сгенерированный
IIS.
Number
Возвращает стандартный код ошибки COM.
Source
Возвращает строку исходной программы,
вызвавшую ошибку, если она доступна
Category
Показывает источник ошибки: внутренняя
ошибка ASP, язык написания сценариев или
объект
File
Показывает имя ASP-файла, который
обрабатывался в момент возникновения
ошибки.
Line
Показывает строку в ASP-файле, которая
вызвала ошибку.
Column
Показывает столбец в ASP-файле, который
вызвал ошибку.
Description
Возвращает краткое описание ошибки.
ASPDescription
Возвращает более подробное описание
ошибки, если эта ошибка связана с ASP
Примечания
Когда IIS при компиляции или выполнении ASP-файла обнаруживает ошибку,
генерируется специальная ошибка 500;100. По умолчанию все веб-узлы и приложения
передают обработку специальной ошибки 500;100 используемому по умолчанию ASPфайлу. После генерирования специальной ошибки 500;100 IIS также создаст экземпляр
объекта ASPError, который описывает состояние ошибки. Сведения об использовании
объекта IIS консоли MMC для изменения ASP-файла для обработки специальной ошибки
500; 100 см. в разделе Включение обработки ошибок ASP.
Пример
Приведенный ниже пример извлечен из файла 500-100.asp и демонстрирует запись
сведений, предоставляемых объектом ASPError, в таблицу.
<%
Response.Write objASPError.Category
If objASPError.ASPCode > "" Then Response.Write ", " & objASPError.ASPCode
Response.Write " (0x" & Hex(objASPError.Number) & ")" & "<br>"
Response.Write "<b>" & objASPError.Description & "</b><br>"
If objASPError.ASPDescription > "" Then Response.Write
objASPError.ASPDescription & "<br>"
blnErrorWritten = False
' Отображать источник, только если он доступен, а запрос поступил с того же
компьютера, где работает IIS
If objASPError.Source > "" Then
strServername = LCase(Request.ServerVariables("SERVER_NAME"))
strServerIP = Request.ServerVariables("LOCAL_ADDR")
strRemoteIP = Request.ServerVariables("REMOTE_ADDR")
If (strServername = "localhost" Or strServerIP = strRemoteIP) And
objASPError.File <> "?" Then
Response.Write objASPError.File
If objASPError.Line > 0 Then Response.Write ", строка " &
objASPError.Line
If objASPError.Column > 0 Then Response.Write ", столбец " &
objASPError.Column
Response.Write "<br>"
Response.Write "<font style=""COLOR:000000; FONT: 8pt/11pt courier
new""><b>"
Response.Write Server.HTMLEncode(objASPError.Source) & "<br>"
If objASPError.Column > 0 Then Response.Write
String((objASPError.Column - 1), "-") & "^<br>"
Response.Write "</b></font>"
blnErrorWritten = True
End If
End If
If Not blnErrorWritten And objASPError.File <> "?" Then
Response.Write "<b>" & objASPError.File
If objASPError.Line > 0 Then Response.Write ", строка " &
objASPError.Line
If objASPError.Column > 0 Then Response.Write ", столбец " &
objASPError.Column
Response.Write "</b><br>"
End If
%>
См. также
Server.GetLastError
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
ASPCode
Свойство ASPCode возвращает строку, содержащую код ошибки, сгенерированный IIS.
Синтаксис
ASPError.ASPCode ()
Область применения
Объект ASPError
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Number
Свойство Number возвращает длинное целое число, которое содержит код ошибки,
возвращенные компонентом COM. Это будет стандартный код ошибки COM.
Синтаксис
ASPError.Number ()
Область применения
Объект ASPError
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Source
Свойство Source возвращает строку исходной программы, вызвавшую ошибку, если она
доступна.
Синтаксис
ASPError.Source ()
Область применения
Объект ASPError
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Category
Свойство Category возвращает строку, показывающую источник ошибки: IIS, язык
написания сценариев или объект.
Синтаксис
ASPError.Category ()
Область применения
Объект ASPError
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
File
Свойство File возвращает строку, которая показывает ASP-файл, который вызвал ошибку.
Синтаксис
ASPError.File ()
Область применения
Объект ASPError
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Line
Свойство Line возвращает длинное целое, показывающее номер строки в ASP-файле,
которая вызвала ошибку.
Синтаксис
ASPError.Line ()
Область применения
Объект ASPError
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Column
Свойство Column возвращает длинное целое, показывающее номер столбца в ASP-файле,
который вызвал ошибку.
Синтаксис
ASPError.Column ()
Область применения
Объект ASPError
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Description
Свойство Description возвращает строку, описывающую ошибку.
Синтаксис
ASPError.Description ()
Область применения
Объект ASPError
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
ASPDescription
Свойство ASPDescription возвращает строку, обеспечивающую (если возможно) более
полное описание ошибки.
Синтаксис
ASPError.ASPDescription ()
Область применения
Объект ASPError
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Объект ObjectContext
Объект ObjectContext можно использовать для завершения или прерывания транзакции,
управляемой службой компонентов и инициированной сценарием на ASP-странице.
Когда ASP-файл содержит директиву @TRANSACTION, страница выполняется в
транзакции и не заканчивает обработку до успешного или неудачного завершения
транзакции.
Синтаксис
ObjectContext.метод
Методы
SetAbort
Метод SetAbort объявляет, что транзакция, инициированная
сценарием, не завершена и ресурсы не должны быть обновлены.
SetComplete
Метод SetComplete объявляет, что сценарий не видит причин,
по которым транзакция не может быть завершена. Если все
компоненты, участвующие в транзакции, также вызывают
SetComplete, транзакция будет завершена.
События
OnTransactionAbort
OnTransactionCommit
Примечания
ObjectContext реализует два метода объекта COM ObjectContext. Метод SetAbort явно
прерывает транзакцию. Это не позволит службе компонентов внести любые изменения в
ресурсы, к которым обращались в течение первой фазы транзакции. Когда транзакция
прерывается, будет обработано событие сценария OnTransactionAbort.
Вызов метода SetComplete не означает, что транзакция обязательно завершена.
Транзакция будет завершена, если все компоненты транзакции, вызванные сценарием,
вызовут метод SetComplete. В большинстве случаев нет необходимости вызывать
SetComplete из сценария, так как сценарий считается завершенным, если он закончил
работу без вызова SetAbort.
ObjectContext предоставляет методы в дополнение к SetAbort и SetComplete. Эти другие
методы недоступны для сценариев в ASP-сценарии; однако они доступны компонентам,
вызываемым сценарием.
Пример
Приведенный ниже пример использует методы SetAbort и SetComplete. Файл Sales.htm
получает данные, необходимые для обработки запроса на продажу. Второй файл
(SalesVerify.asp) содержит сценарий, использующий для обработки продаж два объекта:
Inventory и Sales. SetAbort вызывается, если Inventory возвращает код ошибки,
свидетельствующий о недостаточном количестве товара на складе для обработки
продажи. Если объект Inventory не возвращает код ошибки, вызывается SetComplete и
продажа обрабатывается.
Sales.htm
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<HTML>
<HEAD>
<TITLE>Обработка заказов</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF"><FONT FACE="ARIAL,HELVETICA">
<H2>Форма заказа</H2>
<FORM METHOD=POST ACTION="SalesVerify.asp">
<P>Введите код продукта, количество продуктов и номер своей учетной записи.
<INPUT TYPE=TEXT NAME=QuantityToBuy>
<INPUT TYPE=TEXT NAME=ProductCode>
<INPUT TYPE=TEXT NAME=AccountIn>
<P>
<INPUT TYPE=SUBMIT>
</FONT>
</BODY>
</HTML>
Файл SalesVerify.asp
<%@ Transaction = Required %>
<%
Set CurrentQOH = Server.CreateObject("Mycomp.Inventory")
Set CurrentSales = Server.CreateObject("Mycomp.Sales")
CheckQuantity = Request("QuantityToBuy")
CheckProduct = Request("ProductCode")
QuantityStatus = CurrentQOH.CheckQOH(CheckQuantity,CheckProduct)
If QuantityStatus = None
ObjectContext.SetAbort
Response.Write "Запрошенное количество товаров отсутствует
на складе."
Else
ObjectContext.SetComplete
Account = Request("AccountIn")
Saleupdate = CurrentSales.PostIt(AccountIn)
End If
%>
Дополнительные сведения см. в разделе Представление о транзакциях.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Методы ObjectContext
Объект ObjectContext предоставляет следующие методы:


SetAbort
SetComplete
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
SetAbort
Метод SetAbort прерывает транзакцию, инициированную ASP-файлом.
Синтаксис
ObjectContext.SetAbort
Область применения
Объект ObjectContext
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
SetComplete
Метод SetComplete перекрывает любой предыдущий вызов метода SetAbort в сценарии.
Синтаксис
ObjectContext.SetComplete
Область применения
Объект ObjectContext
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
События ObjectContext
Следующие события могут произойти после метода ObjectContext:


OnTransactionAbort
OnTransactionCommit
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
OnTransactionAbort
Событие OnTransactionAbort происходит, если транзакция была прервана. Когда
происходит событие OnTransactionAbort, IIS будет выполнять подпрограмму сценария
OnTransactionAbort, если она существует.
Пример
В приведенном ниже примере клиенту отправляется сообщение при прерывании
транзакции:
<%@ TRANSACTION=Required LANGUAGE="VBScript" %>
<% Option Explicit
ObjectContext.SetAbort
Sub OnTransactionAbort
Response.Write "<p><b>Выполнение транзакции прервано</b>."
Response.Write "Это сообщение выдано "
Response.Write "обработчиком событий OnTransactionAbort()."
end sub
%>
Область применения
Объект ObjectContext
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
OnTransactionCommit
Событие OnTransactionCommit происходит по завершении транзакции сценария. Когда
происходит событие OnTransactionCommit, IIS будет выполнять подпрограмму сценария
OnTransactionCommit, если она существует.
Пример
В приведенном ниже примере клиенту отправляется сообщение при завершении
транзакции:
<%@ TRANSACTION=Required LANGUAGE="VBScript" %>
<% Option Explicit
ObjectContext.SetComplete
Sub OnTransactionCommit
Response.Write "<p><b>Выполнение транзакции завершено</b>."
Response.Write "Это сообщение выдано "
Response.Write "обработчиком событий OnTransactionCommit()."
end sub
%>
Область применения
Объект ObjectContext
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Объект Request
Объект Request извлекает значения, которые обозреватель клиента передает серверу во
время HTTP-запроса.
Синтаксис
Request[.семейство|свойство|метод](переменная)
Семейства
ClientCertificate
Значения полей, хранимых в клиентском сертификате,
которые передаются в HTTP-запросе.
Cookies
Значения модулей настройки, которые передаются в HTTPзапросе.
Form
Значения элементов формы в теле HTTP-запроса.
QueryString
Значения переменных в строке HTTP-запроса.
ServerVariables
Значения определенных заранее переменных среды.
Свойства
TotalBytes
Только для чтения; указывает общее число байт,
передаваемых клиентом в теле запроса.
Методы
BinaryRead
Извлекает данные, передаваемые клиентом серверу, как часть
запроса POST.
Параметры «переменная» являются строками, которые указывают элемент, извлекаемый
из семейства, или элемент, используемый в качестве входа для метода или свойства. Более
подробные сведения о параметре переменная см. в описании конкретного семейства.
Примечания
Если указанная переменная не относится ни к одному из пяти перечисленных выше
семейств, объект Request возвращает EMPTY(«пусто»).
Можно обратиться непосредственно ко всем переменным вызовом Request(переменная)
без указания имени семейства. В этом случае веб-сервер ищет в семействах в следующем
порядке:
1.
2.
3.
4.
5.
QueryString
Form
Cookies
ClientCertificate
ServerVariables
Если переменные с одинаковыми именами существуют в нескольких семействах, объект
Request возвращает первый обнаруженный экземпляр.
Настоятельно рекомендуется использовать полные имена при обращении к членам
семейств. Например, вместо Request.(AUTH_USER) используйте
Request.ServerVariables(AUTH_USER). Это позволит серверу быстрее найти элемент.
См. также
Объект Response
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Семейства Request
Объект Request содержит следующие семейства.





ClientCertificate
Cookies
Form
QueryString
ServerVariables
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
ClientCertificate
Семейство ClientCertificate хранит поля ключей и значений сертификата безопасности,
который обозреватель клиента передает на веб-сервер. Эти поля приняты в версии 3
стандарта X.509 для сертификатов с общим ключом. Поскольку X.509 не является
официальным стандартом, между сертификатами, выданными различными службами
сертификации, могут быть различия. См. статью X509 Certificate на веб-узле World Wide
Web Consortium.
Для возможности заполнения полей семейства ClientCertificate и веб-сервер, и
обозреватель клиента должны поддерживать протокол SSL3.0/PCT1.0. Веб-узел должен
использовать протокол SSL и запрашивать сертификаты клиентов. Если включен
протокол SSL, URL веб-узла будет начинаться не с «http://», а с «https://». Обозреватель
клиента должен обеспечивать отправку сертификата. Если сертификат не был передан,
семейство ClientCertificate возвращает EMPTY(«пусто»).
Инструкции по настройке веб-сервера для запроса клиентских сертификатов см. в разделе
Установка SSL на сервере.
Для получения значений всех полей семейства ClientCertificate следует передать имя
ключа и необязательное имя дополнительного поля.
Синтаксис
Request.ClientCertificate( Ключ[дополнительное_поле] )
Параметры
Ключ
Указывает имя извлекаемого поля сертификата. Сертификат клиента состоит из
перечисленных ниже полей.
Значение
Описание
Certificate
Строка, содержащая последовательность двоичных данных
всего содержимого сертификата в формате ASN.1. Она
позволяет узнать о наличии особых дополнительных полей, не
перечисленных здесь.
Flags
Набор флагов, обеспечивающих дополнительные сведения о
клиентском сертификате. Значение 1 указывает на наличие
клиентского сертификата. Значение 2 указывает на то, что
последняя сертификация в этой цепочке была проведена
неизвестной службой.
Issuer
Строка, содержащая список значений дополнительных полей со
сведениями о службе, выпустившей сертификат. Если это
значение указано без дополнительного_поля, семейство
ClientCertificate возвращает список дополнительных полей,
разделенных запятыми. Например, C=US, O=Verisign, и так
далее.
SerialNumber
Строка, содержащая порядковый номер сертификата в виде
символьного представления шестнадцатеричных цифр с
байтами, разделенными дефисами (-). Например, 04-67-F3-02.
Subject
Строка, содержащая список значений дополнительных полей.
Значения дополнительных полей содержат сведения о клиенте.
Если это значение указано без дополнительного_поля, семейство
ClientCertificate возвращает список дополнительных полей,
разделенных запятыми. Например, C=US, O=Msft, и так далее.
ValidFrom
Дата вступления сертификата в силу. Эта дата записывается в
формате VBScript и может изменяться в соответствии с
национальными настройками. Например, для России, 26.09.1996
11:59:59. Значение года отображается четырьмя цифрами.
ValidUntil
Дата истечения срока действия сертификата. Значение года
отображается четырьмя цифрами.
Дополнительное_поле
Необязательный параметр, используемый для извлечения отдельных полей для
ключей Subject и Issuer. Этот параметр добавляется к параметру Ключ в виде
суффикса. Например, IssuerO или SubjectCN. В приведенной ниже таблицы
перечислены некоторые общеупотребительные значения дополнительного_поля.
Значение
Описание
C
Указывает название страны.
CN
Указывает общее имя пользователя. (Это дополнительное поле
используется только с ключом Subject.)
GN
Указывает присвоенное имя.
I
Указывает набор инициалов.
L
Указывает город.
O
Указывает название компании или организации.
OU
Указывает название подразделения.
S
Указывает область или регион.
T
Указывает должность.
Значения дополнительного_поля, отличные от перечисленных выше, могут быть
распознаны по их идентификатору объект ASN.1 (OID). Формат OID представляет
собой список чисел, разделенных точками (.). Список OID для данного
сертификата можно получить у агентства, выдавшего этот сертификат.
Пример
Можно перебирать ключи семейства ClientCertificate. Это показано в приведенном ниже
примере.
<%
For Each strKey in Request.ClientCertificate
Response.Write strkey & " = " & Request.ClientCertificate(strkey) &
"<BR>"
Next
%>
В приведенном ниже примере извлекается общее имя компании, выпустившей сертификат
клиента.
<%= Request.ClientCertificate("IssuerCN") %>
В приведенном ниже примере отображается дата истечения срока действия клиентского
сертификата.
Срок действия этого сертификата истекает
<%= Request.ClientCertificate("ValidUntil") %>
В приведенном ниже примере используется ключ Flags для определения, известна
ли служба, выдавшая сертификат.
<%
Const ceCertPresent = 1
Const ceUnrecognizedIssuer = 2
If Request.ClientCertificate("Flags") = ceUnrecognizedIssuer Then
Response.Write "Unrecognized issuer"
End If
%>
В приведенном ниже примере отображаются все поля клиентского сертификата.
Выдан: <%=Request.ClientCertificate("Issuer")%><br>
Кому: <%=Request.ClientCertificate("Subject")%><br>
<% cer=Request.ClientCertificate("Certificate") %>
Certificate Raw Data: <%=cer%><br>
Certificate length: <%=len(cer)%><br>
Certificate Hex Data:
<% For x=1 To 100 %>
<%=hex(asc(mid(cer,x,1)))%> 
<% Next %>
Область применения
Объект Request
См. также
Cookies, Form, QueryString, ServerVariables, Security and Cryptography.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Cookies
Семейство Cookies позволяет извлекать значение модулей настройки (cookies),
переданных в HTTP-запросе.
Синтаксис
Request.Cookies(модуль_настройки)[(ключ)|.атрибут]
Параметры
модуль_настройки
Указывает модуль настройки, значение которого должно быть извлечено.
ключ
Необязательный параметр, используемый для извлечения значения
дополнительного параметра из словарей модуля настройки.
атрибут
Задает сведения о самом модуле настройки. Значение параметра «атрибут» может
иметь следующее значение.
Имя
Описание
HasKeys
Только для чтения. Указывает наличие ключей в модуле
настройки.
Примечания
Можно обратиться с дополнительным параметрам словаря модуля настройки, включив
значение ключа. Если обращение к словарю модуля настройки осуществляется без
использования ключа, все ключи возвращаются как одна строка запроса. Например, если
MyCookie имеет два ключа, First и Second, и при вызове Request.Cookies ни один из
ключей не был указан, будет возвращена следующая строка.
First=значениепервогоключа&Second=значениевторогоключа
Если два модуля настройки имеют одно и то же имя и были переданы обозревателем
клиента, Request.Cookies возвратит один из них, имеющий более глубокую структуру
пути. Например, если два модуля настройки имеют одно имя, один из них имеет атрибут
пути /www/, а второй — /www/home/, обозреватель клиента передаст оба модуля
настройки в каталог /www/home/, но Request.Cookies возвратит только второй модуль
настройки.
Для определения наличия словаря в модуле настройки (есть ли в модуле настройки
ключи) используйте сценарий, приведенный ниже.
<%= Request.Cookies("myCookie").HasKeys %>
Если myCookie является словарем модуля настройки, значение приведенного выше
выражения будет равно ИСТИНА. В противном случае значение будет равно ЛОЖЬ.
Можно перебирать все модули настройки в семействе Cookie или все ключи в модуле
настройки. Однако перебор ключей в модуле настройки, не содержащем ключей, приведет
к непредсказуемым результатам. Чтобы избежать этого, сначала проверьте наличие
ключей с помощью конструкции .HasKeys. Это показано в приведенном ниже примере:
<%
For Each strKey In Request.Cookies
Response.Write strKey & " = " & Request.Cookies(strKey) & "<BR>"
If Request.Cookies(strKey).HasKeys Then
For Each strSubKey In Request.Cookies(strKey)
Response.Write "->" & strKey & "(" & strSubKey & ") = " & _
Request.Cookies(strKey)(strSubKey) & "<BR>"
Next
End If
Next
%>
Пример
В приведенном ниже примере на веб-страницу выводится значение myCookie.
Это значение модуля настройки myCookie:
<%= Request.Cookies("myCookie") %>
Примечание. Модули настройки подробно описаны в спецификации управления
состоянием протокола HTTP на веб-узле World Wide Web Consortium.
Область применения
Объект Request
См. также
ClientCertificate, Form, QueryString, ServerVariables
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Form
Семейство Form извлекает значения элементов формы, направленных в тело HTTPзапроса с помощью метода POST.
Синтаксис
Request.Form(элемент)[(индекс)|.Count]
Параметры
элемент
Имя элемента формы, из которой семейство извлекает значения.
индекс
Необязательный параметр, который дает возможность получения доступа к одному
из нескольких значений параметра. Может быть любым целым числом в диапазоне
от –1 до Request.Form(параметр).Count.
Примечания
Семейство Form индексируется по именам параметров в теле запроса. Значение
Request.Form(элемент) представляет собой массив всех значений элемента, которые
встречаются в теле запроса. Можно определить число значений параметра, вызвав
Request.Form(элемент).Count. Если параметр не имеет нескольких значений, связанных
с ним, счетчик равен 1. Если параметр не найден, счетчик равен 0.
Для ссылки на отдельное значение элемента формы, имеющего несколько значений,
необходимо указать значение для индекса. Параметр индекс может быть любым числом в
диапазоне от 1 до Request.Form(элемент).Count. Если ссылаются на один из нескольких
параметров формы без указания значения индекса, данные возвращаются в виде строки,
разделенной запятыми.
Когда Request.Form используется с параметрами, веб-сервер производит анализ тела
HTTP-запроса и возвращает указанные данные. Если приложение требует неразобранных
данных из формы, можно обратиться к ним, вызвав Request.Form без параметров.
Примечание. При использовании ASP для отправки данных объемом более 100 Кбайт
метод Request.Form не подходит. Если приложение требует отправки большого объема
данных, можно написать компонент, использующий метод Request.BinaryRead.
Можно перебирать все значения данных в запросе формы. Например, если пользователь
заполняет форму, указывая два значения: «Шоколад» и «Ирис» для элемента
FavoriteFlavor, можно извлечь эти значения с помощью сценария, приведенного ниже.
<%
For i = 1 To Request.Form("FavoriteFlavor").Count
Response.Write Request.Form("FavoriteFlavor")(i) & "<BR>"
Next
%>
Приведенный выше сценарий будет отображать следующую информацию.
Шоколад
Ирис
Можно использовать этот прием для отображения имени параметра, как показано в
сценарии, приведенном ниже.
<%
For i = 1 to Request.Form("FavoriteFlavor").count %>
Request.Form(FavoriteFlavor) = <%= Request.Form("FavoriteFlavor")(i)_
%> <BR>
<% Next %>
Этот сценарий отобразит в обозревателе следующее:
Request.Form(FavoriteFlavor) = Шоколад
Request.Form(FavoriteFlavor) = Ирис
Пример
Рассмотрим следующую форму:
<FORM ACTION = "/scripts/submit.asp" METHOD = "post">
<P>Введите свое имя: <INPUT NAME = "firstname" SIZE = 48>
<P>Выберите свое любимое мороженое: <SELECT NAME = "flavor">
<OPTION>Ванильное
<OPTION>Клубничное
<OPTION>Шоколадное
<OPTION>Лесной орех</SELECT>
<P><INPUT TYPE = SUBMIT>
</FORM>
Из этой формы может быть передано следующее тело запроса:
firstname=Вася&flavor=Лесной+орех
Затем может быть использован приведенный ниже сценарий:
Добро пожаловать, <%= Request.Form("firstname") %>.
Ваше любимое мороженое - <%= Request.Form("flavor") %>.
Результат будет иметь следующий вид:
Добро пожаловать, Вася. Ваше любимое мороженое - Лесной орех.
Если использовать приведенный ниже сценарий:
Неразобранные данные формы:
<%= Request.Form %>
результат будет иметь следующий вид:
Неразобранные данные формы:
firstname=Вася&flavor=Лесной+орех
Примечание. Если форма включает несколько объектов с одинаковыми именами
(например, теги HTML SELECT), элементом в семействе формы будет список всех
выбранных значений, разделенных запятыми.
Область применения
Объект Request
См. также
ClientCertificate, Cookies, QueryString, ServerVariables
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
QueryString
Семейство QueryString извлекает значения переменных их строки HTTP-запроса. Строка
HTTP-запроса задается значением, следующим за знаком вопроса (?). Несколько разных
процессов могут генерировать строку запроса. Например, тег привязки
<A HREF= "example?string=это пример">пример строки</A>
генерирует переменную с именем string и значением "это пример." Строки запроса
генерируются также передачей формы или вводом запроса пользователем в поле адреса
обозревателя.
Синтаксис
Request.QueryString(переменная)[(индекс)|.Count]
Параметры
переменная
Указывает имя переменной, извлекаемой из строки запроса.
индекс
Необязательный параметр, который дает возможность извлечения одного из
нескольких значений параметра. Может быть любым целым числом в диапазоне от
–1 до Request.QueryString(переменная).Count.
Примечания
Семейство QueryString является синтаксически разобранной версией переменной
QUERY_STRING в семействе ServerVariables. Оно позволяет извлекать переменную из
QUERY_STRING по имени Значение Request.QueryString(параметр) представляет собой
массив всех значений параметра, встречающихся в QUERY_STRING. Можно определить
число значений параметра, вызвав Request.QueryString(параметр).Count. Если
переменная не имеет нескольких наборов данных, связанных с ним, счетчик равен 1. Если
переменная не найдена, счетчик равен 0
Чтобы сослаться на переменную QueryString в одном из нескольких наборов данных,
укажите значение индекса. Параметр индекс может быть любым числом в диапазоне от 1
до Request.QueryString(переменная).Count. Если ссылаются на одну из нескольких
переменных QueryString без указания значения индекса, данные возвращаются в виде
строки, разделенной запятыми.
Когда Request.QueryString используется с параметрами, веб-сервер производит анализ
параметров, переданных запросу, и возвращает указанные данные. Если приложение
требует неразобранных данных QueryString, можно извлечь их, вызвав
Request.QueryString без параметров.
Можно использовать циклы для перебора всех значений данных в строке запроса.
Например, если передан следующий запрос:
http://localhost/script/directory/NAMES.ASP?Q=Fred&Q=Sally
а Names.asp содержит приведенный ниже сценарий,
---NAMES.ASP--<%
For Each item In Request.QueryString("Q")
Response.Write Request.QueryString("Q")(item) & "<BR>"
Next
%>
Names.asp будет отображать:
Fred
Sally
Приведенный выше сценария может быть также записан с помощью Count.
<%
For i = 1 To Request.QueryString("Q").Count
Response.Write Request.QueryString("Q")(i) & "<BR>"
Next
%>
Пример
Запрос клиента
/scripts/directory-lookup.asp?name=fred&age=22
приведет к следующему значению QUERY_STRING:
name=fred&age=22.
Семейство QueryString будет содержать два члена: name и age. Затем можно
использовать сценарий, приведенный ниже:
Добро пожаловать, <%= Request.QueryString("name") %>.
Ваш возраст: <%= Request.QueryString("age") %>.
Результат будет иметь следующий вид:
Добро пожаловать, Fred. Ваш возраст: 22.
Если использовать приведенный ниже сценарий:
Неразобранная строка запроса: <%=Request.QueryString %>
Результат будет иметь следующий вид:
Неразобранная строка запроса: name=fred&age=22
Область применения
Объект Request
См. также
ClientCertificate, Cookies, Form, ServerVariables
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
ServerVariables
Семейство ServerVariables извлекает значения определенных заранее переменных среды.
Синтаксис
Request.ServerVariables (переменная_среды_сервера)
Параметры
переменная_среды_сервера
Указывает имя извлекаемой переменной среды сервера. Может принимать одно из
приведенных ниже значений.
Переменная
Описание
ALL_HTTP
Все заголовки HTTP, переданные
клиентом.
ALL_RAW
Извлекает все заголовки в необработанном
виде. Разница между ALL_RAW и
ALL_HTTP состоит в том, что ALL_HTTP
помещает префикс HTTP_ перед именем
заголовка и имя заголовка всегда задается
заглавными буквами. В ALL_RAW имя
заголовка и значения отображаются так,
как они были переданы клиентом.
APPL_MD_PATH
Извлекает путь к метабазе приложения для
ISAPI DLL.
APPL_PHYSICAL_PATH
Извлекает физический путь,
соответствующий пути метабазы. IIS
преобразовывает APPL_MD_PATH в
физический путь (каталог) для
возвращения этого значения.
AUTH_PASSWORD
Значение, введенное в диалоговое окно
проверки подлинности клиента. Эта
переменная доступна только при
использовании обычной проверки
подлинности.
AUTH_TYPE
Способ проверки подлинности, который
используется сервером для проверки
пользователей при попытке обращения к
защищенному сценарию.
AUTH_USER
Необработанное имя пользователя,
получившего доступ.
CERT_COOKIE
Уникальный идентификатор клиентского
сертификата, возвращаемый в виде строки.
Может быть использован как подпись для
всего клиентского сертификата.
CERT_FLAGS
Бит 0 установлен в 1, если клиентский
сертификат присутствует.
Бит 1 установлен в 1, если служба
сертификации, выдавшая клиентский
сертификат, является недопустимой (не
включена в список доверенных служб
сертификации на сервере).
CERT_ISSUER
Поле Issuer клиентского сертификата
(O=MS, OU=IAS, CN=имя пользователя,
C=USA).
CERT_KEYSIZE
Размер (в битах) ключа подключения SSL.
Например, 128.
CERT_SECRETKEYSIZE
Размер (в битах) закрытого ключа
сертификата сервера. Например, 1024.
CERT_SERIALNUMBER
Поле «порядковый номер» клиентского
сертификата.
CERT_SERVER_ISSUER
Поле Issuer сертификата сервера.
CERT_SERVER_SUBJECT
Поле Subject сертификата сервера.
CERT_SUBJECT
Поле Subject сертификата клиента.
CONTENT_LENGTH
Длина содержимого, как указано клиентом.
CONTENT_TYPE
Тип данных содержимого. Используется с
запросами, которые имеют
присоединенные сведения, например
HTTP-запросы GET, POST и PUT.
GATEWAY_INTERFACE
Номер версии спецификации CGI,
используемой сервером. Имеет формат
CGI/версия.
HTTP_<ИмяЗаголовка>
Значение, хранимое в заголовке
ИмяЗаголовка. Любой заголовок, кроме
перечисленных в таблице, должен иметь
префикс HTTP_, чтобы семейство
ServerVariables могло извлечь его
значение.
Примечание. Сервер интерпретирует
любой знак подчеркивания (_) в
ИмениЗаголовка как тире в самом
заголовке. Например, если указано
HTTP_MY_HEADER, сервер будет искать
переданный заголовок MY-HEADER.
HTTP_ACCEPT
Возвращает значение заголовка Accept.
HTTP_ACCEPT_LANGUAGE
Возвращает строку, которая описывает
язык, используемый для отображения
содержимого.
HTTP_USER_AGENT
Возвращает строку, которая описывает
обозреватель, отправивший запрос.
HTTP_COOKIE
Возвращает строку модуля настройки,
который был включен в запрос.
HTTP_REFERER
Возвращает строку, содержащую адрес
URL страницы, ссылающейся на текущую
страницу, но не включает запросы
перенаправления. Запросы
перенаправления не сохраняются.
HTTPS
Возвращает ON, если запрос пришел по
безопасному подключению (SSL), или
OFF, если канал не является безопасным.
HTTPS_KEYSIZE
Размер (в битах) ключа подключения SSL.
Например, 128.
HTTPS_SECRETKEYSIZE
Размер (в битах) закрытого ключа
сертификата сервера. Например, 1024.
HTTPS_SERVER_ISSUER
Поле Issuer сертификата сервера.
HTTPS_SERVER_SUBJECT
Поле Subject сертификата сервера.
INSTANCE_ID
Идентификатор экземпляра IIS в текстовом
формате. Если идентификатор экземпляра
равен 1, то он появляется в виде строки.
Можно использовать эту переменную для
извлечения идентификатора экземпляра
веб-сервера (в метабазе), которому
принадлежит запрос.
INSTANCE_META_PATH
Путь метабазы для экземпляра IIS,
который отвечает запросу.
LOCAL_ADDR
Возвращает адрес сервера, по которому
пришел запрос. Это важно для
компьютеров с доступом к разным сетям,
когда может быть несколько IP-адресов,
связанных с компьютером, и необходимо
узнать, какой адрес использован запросом.
LOGON_USER
Учетная запись Windows, с которой
пользователь вошел в систему.
PATH_INFO
Дополнительная информация о пути,
заданная клиентом. Можно обращаться к
сценариям с помощью виртуального пути и
переменной сервера PATH_INFO. Если эти
сведения приходят с адреса URL, сервер
перекодирует их до передачи сценарию
CGI.
PATH_TRANSLATED
Преобразованная версия PATH_INFO;
берется путь и над ним производятся
операция сопоставления виртуального и
физического пути.
QUERY_STRING
Информация запроса, хранимая в строке
после вопросительного знака (?) в HTTPзапросе.
REMOTE_ADDR
IP-адрес удаленного компьютера,
выполняющего запрос.
REMOTE_HOST
Имя компьютера, выполняющего запрос.
Если сервер не располагает этими
сведениями, он установит значение
REMOTE_ADDR, а этот параметр
останется незаполненным.
REMOTE_USER
Строка несопоставленного имени
пользователя, переданная пользователем.
Это имя, которое передается
пользователем. Отличается от имен,
которые изменяются фильтрами проверки
подлинности, установленными на сервере.
REQUEST_METHOD
Метод, использованный для выполнения
запроса. Для HTTP — это GET, HEAD,
POST и так далее.
SCRIPT_NAME
Виртуальный путь к выполняемому
сценарию. Используется для адресов URL,
ссылающихся на себя.
SERVER_NAME
Имя узла сервера, псевдоним DNS или IPадрес в том виде, как они присутствовали в
адресе URL, ссылающемся на себя.
SERVER_PORT
Номер порта, к которому был направлен
запрос.
SERVER_PORT_SECURE
Строка, содержащая 0 или 1. Если запрос
обрабатывается на защищенном порте,
значением строки будет 1, в противном
случае — 0.
SERVER_PROTOCOL
Название и версия протокола
информационных запросов. Имеет формат
протокол/версия.
SERVER_SOFTWARE
Название и версия программного
обеспечения сервера, который отвечает на
запросы и запускает шлюзы. Имеет формат
название/версия
URL
Основная часть URL-адреса.
Примечания
Если клиент посылает заголовок отличный от тех, что приведены в предыдущей таблице,
можно извлечь его значение, добавив к имени заголовка префикс HTTP_ в вызове
Request.ServerVariables. Например, если клиент отправляет заголовок
SomeNewHeader:SomeNewValue
можно извлечь SomeNewValue с помощью следующей синтаксической конструкции:
<% Request.ServerVariables("HTTP_SomeNewHeader") %>
Пример
В этом примере отображаются некоторые переменные сервера по имени:
<HTML>
<!-- В этом примере отображается содержимое семейства ServerVariables. -->
Переменная сервера ALL_HTTP =
<%= Request.ServerVariables("ALL_HTTP") %> <BR>
Переменная сервера CONTENT_LENGTH =
<%= Request.ServerVariables("CONTENT_LENGTH") %> <BR>
Переменная сервера CONTENT_TYPE =
<%= Request.ServerVariables("CONTENT_TYPE") %> <BR>
Переменная сервера QUERY_STRING =
<%= Request.ServerVariables("QUERY_STRING") %> <BR>
Переменная сервера SERVER_SOFTWARE =
<%= Request.ServerVariables("SERVER_SOFTWARE") %> <BR>
</HTML>
В этом примере с помощью цикла For Each (VBScript) перебираются все имеющиеся
переменные сервера. Если разрешен анонимный доступ, некоторые переменные будут
пусты. Приведенный ниже сценарий выводит все переменные сервера в таблицу:
<TABLE BORDER="1">
<TR><TD><B>Переменная сервера</B></TD><TD><B>Значение</B></TD></TR>
<% For Each strKey In Request.ServerVariables %>
<TR>
<TD><%= strKey %></TD>
<TD><%= Request.ServerVariables(strKey) %></TD>
</TR>
<% Next %>
</TABLE>
В этом примере имя сервера вставляется в ссылку.
<A HREF=
"http://<%=Request.ServerVariables("SERVER_NAME")%>/scripts/MyPage.asp">
Ссылка на страницу MyPage.asp
</A>
Область применения
Объект Request
См. также
ClientCertificate, Cookies, Form, QueryString
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Свойства Request
Объект Request поддерживает свойство:

TotalBytes
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
TotalBytes
Свойство TotalBytes указывает общее число байт, передаваемых клиентом в теле запроса.
Это свойство доступно только для чтения.
Синтаксис
Счетчик = Request.TotalBytes
Параметры
Счетчик
Указывает переменную, которой будет присвоено общее число байт, передаваемых
клиентом в запросе.
Пример
Приведенный ниже сценарий присваивает переменной значение, равное общему числу
байт, включенных в объект Request.
<%
Dim bytecount
bytecount = Request.TotalBytes
%>
Область применения
Объект Request
См. также
BinaryRead
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Методы Request
Объект Request поддерживает следующий метод:

BinaryRead
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
BinaryRead
Метод BinaryRead извлекает данные, передаваемые клиентом серверу, как часть запроса
POST. Этот метод получает данные от клиента и хранит их в SafeArray. SafeArray
представляет собой массив, содержащий сведения о числе измерений и границах его
размерностей.
Синтаксис
variant = Request.BinaryRead(счетчик)
Параметры
variant
Содержит массив беззнаковых байт, возвращаемый этим методом. Этот параметр
будет иметь тип VT_ARRAY | VT_UI1, который является массивом переменной
длины, состоящим их беззнаковых однобайтных символов.
счетчик
Перед выполнением укажите число байт, которое необходимое получить от
клиента. После вызова этого метода счетчик будет содержать число байт, успешно
считанных от клиента. Общее число реально считанных байт меньше или равно
Request.TotalBytes.
Примечания
Метод BinaryRead используется для чтения необработанных данных, передаваемых
клиентом как часть запроса POST. Этот метод используется для доступа к этим данным на
нижнем уровне, в отличие, скажем, от использования семейства Request.Form для
просмотра данных формы, переданных запросом POST. После вызова BinaryRead
обращение к любой переменной семейства Request.Form вызовет ошибку. И наоборот,
после обращения к переменной в семействе Request.Form вызов BinaryWrite приведет к
возникновению ошибки. Необходимо помнить, что при обращении к переменной в
семействе Request без указания подсемейства, к которому переменная принадлежит,
поиск может быть выполнен в семействе Request.Form, создавая предпосылки для
применения описанного выше правила.
Пример
В приведенном ниже примере метод BinaryRead используется для размещения
содержимого запроса в безопасном массиве.
<%
Dim vntPostedData, lngCount
lngCount = Request.TotalBytes
vntPostedData = Request.BinaryRead(lngCount)
%>
Область применения
Объект Request
См. также
TotalBytes, ClientCertificate, Cookies, Form, QueryString, ServerVariables
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Объект Response
Объект Response можно использовать для передачи выходной информации клиенту.
Синтаксис
Response.семейство|свойство|метод
Семейства
Cookies
Указывает значение модуля настройки. Используя это
семейство, можно установить значения модуля настройки.
Свойства
Buffer
Показывает буферизацию вывода страницы.
CacheControl
Включение заголовка, сообщающего прокси-серверам или
другим средствам кэширования о возможности кэширования
результатов выполнения ASP-страниц.
Charset
Добавляет название набора символов к заголовку «contenttype». Набор символов указывает обозревателю на способ
отображения знаков.
CodePage
Задает кодовую страницу для представления данных во
внутренних объектах при обработке одной страницы. Кодовая
страница указывает серверу на способ кодирования знаков для
разных языков.
ContentType
Указывает тип содержимого HTTP для ответа.
Expires
Указывает длину промежутка времени, после которого
истекает срок хранения страницы, кэшированной
обозревателем.
ExpiresAbsolute
Указывает дату и время, когда истекает срок хранения
страницы, кэшированной обозревателем.
IsClientConnected
Показывает, не был ли клиент отключен от сервера.
LCID
Задает LCID для данных при выводе одной страницы. LCID
определяет формат дат, времени и обозначения денежной
единицы для определенного географического района.
Pics
Устанавливает значение заголовка ответа «pics-label» для
указания оценки PICS содержимого.
Status
Значение строки состояния, возвращенной сервером.
Методы
AddHeader
Устанавливает заголовок HTML имя равным значению.
AppendToLog
Добавляет строку в конец записи журнала веб-сервера,
относящейся к этому запросу.
BinaryWrite
Записывает предоставленную информацию в текущий вывод
HTTP без преобразования наборов символов.
Clear
Стирает любой буферизованный вывод HTTP.
End
Останавливает обработку файла .asp и возвращает текущий
результат.
Flush
Немедленно передает буферизованный вывод.
Redirect
Отправляет обозревателю сообщение о перенаправлении,
вызывая попытку обозревателя подключиться к другому URL.
Write
Записывает переменную или текст в виде строки в текущий
вывод HTTP.
См. также
Объект Request
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Семейства Response
Объект Response имеет следующее семейство.

Cookies
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Cookies
Семейство Cookies устанавливает значение модуля настройки. Если указанный модуль
настройки не существует, то он создается. Если модуль настройки существует, он
получает новое значение, а старое — стирается.
Синтаксис
Response.Cookies(модуль_настройки)[(ключ)|.атрибут] = значение
Параметры
модуль_настройки
Имя модуля настройки.
ключ
Необязательный параметр. Если ключ указан, модуль настройки является словарем
и ключ становится равным значению.
атрибут
Задает сведения о самом модуле настройки. Значение параметра «атрибут» может
иметь следующее значение.
Имя
Описание
Domain
Только для записи. Если указан, модуль настройки
отправляется только для запросов к этому домену.
Expires
Только для записи. Дата истечения срока действия модуля
настройки. Эта дата должна быть установлена, чтобы модуль
настройки хранился на диске клиента после завершения
сеанса. Если этот атрибут не установлен в более позднюю,
чем текущая, дату, срок действия модуля настройки истечет
при завершении сеанса.
HasKeys
Только для чтения. Указывает наличие ключей в модуле
настройки.
Path
Только для записи. Если указан, модуль настройки
отправляется только для запросов по этому пути. Если
атрибут не установлен, используется путь приложения.
Secure
Только для записи. Указывает, что модуль настройки
является защищенным.
Значение
Указывает значение, присваиваемое ключу или атрибуту.
Примечания
Если создан модуль настройки с ключами, как в приведенном ниже сценарии,
<%
Response.Cookies("mycookie")("type1") = "sugar"
Response.Cookies("mycookie")("type2") = "ginger snap"
%>
отправляется такой заголовок:
Set-Cookie:MYCOOKIE=TYPE1=sugar&TYPE2=ginger+snap
Последующее присвоение myCookie без указания ключа уничтожит type1 и type2. Это
показано в приведенном ниже примере.
<% Response.Cookies("myCookie") = "chocolate chip" %>
В приведенном выше примере ключи type1 и type2 уничтожаются, а их значения
теряются. Модуль настройки myCookie теперь имеет значение chocolate chip.
С другой стороны, если модуль настройки вызывается с ключом, уничтожаются все
значения без ключей, содержащиеся в модуле настройки. Например, если после
предыдущего вызова Response.Cookies вызывается следующим фрагментом сценария
<% Response.Cookies("myCookie")("newType") = "peanut butter" %>
Значение chocolate chip теряется, а newType будет установлен в peanut butter.
Чтобы определить наличие ключей в модуле настройки, используйте следующую
синтаксическую конструкцию.
<%= Response.Cookies("myCookie").HasKeys %>
Если myCookie является словарем модуля настройки, значение приведенного выше
выражения будет равно ИСТИНА. В противном случае значение равно ЛОЖЬ.
Можно использовать циклы для установки атрибутов модуля настройки. Например, чтобы
установить срок действия всех модулей настройки в определенную дату, используйте
следующую синтаксическую конструкцию.
<%
For Each cookie in Response.Cookies
Response.Cookie(cookie).Expires = #July 4, 1997#
Next
%>
Можно перебирать значения всех модулей настройки в семействе или все ключи в модуле
настройки. Однако если попытаться перебирать значения модуля настройки, не имеющего
ключей, ничего не будет возвращено. Чтобы избежать этого, используйте .HasKeys для
проверки наличия ключей в модуле настройки. Это показано в приведенном ниже
примере.
<%
If Not cookie.HasKeys Then
'Set the value of the cookie.
Response.Cookies(cookie) = ""
Else
'Установка значений для каждого ключа в семействе cookie.
For Each key in Response.Cookies(cookie)
Response.Cookies(cookie)(key) = ""
Next
%>
Пример
Приведенные ниже примеры показывают установку значения модуля настройки и
присвоение значений атрибутам.
<%
Response.Cookies("Type") = "Chocolate Chip"
Response.Cookies("Type").Expires = "July 31, 2001"
Response.Cookies("Type").Path = "/"
%>
Область применения
Объект Response
См. также
Request.Cookies
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Свойства Response
Объект Response имеет следующие свойства:











Buffer
CacheControl
Charset
CodePage
ContentType
Expires
ExpiresAbsolute
IsClientConnected
LCID
PICS
Status
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Buffer
Свойство Buffer показывает наличие буферизации вывода страницы. Если вывод
страницы буферизуется, сервер не посылает клиенту ответа до тех пор, пока все сценарии
сервера на текущей странице не будут обработаны или пока не будет вызван метод Flush
или End.
Свойство Buffer не может быть установлено после передачи сервером выводимой
информации клиенту. По этой причине вызов Response.Buffer должен быть первой
строкой в ASP-файле.
Синтаксис
Response.Buffer [= флаг]
Параметры
флаг
Указывает наличие буферизации вывода страницы. Может принимать одно из
приведенных ниже значений.
Значение
Описание
FALSE
Буферизация не производится. Сервер передает выводимую
информацию клиенту по мере обработки. Это значение
используется по умолчанию в IIS версий до 4.0
включительно. В версии 5.0 и более поздних значение по
умолчанию равно TRUE.
TRUE
Сервер не посылает клиенту ответа до тех пор, пока все
сценарии сервера на текущей странице не будут обработаны
или пока не будет вызван метод Flush или End.
Примечания
Если текущий ASP-файл имеет буферизацию, установленную в TRUE, и метод Flush не
вызывается, сервер будет поддерживать открытое соединение, установленное клиентом.
Это экономит время, поскольку сервер не должен создавать новое подключение для
каждого запроса клиента.
Однако буферизация не позволяет отображать никаких ответов клиенту до завершения
обработки сервером всех сценариев текущей страницы. Для длинных сценариев это может
вызвать ощутимые задержки.
Можно использовать свойство ASPBufferingOn в метабазе для установки значения
буферизации сценария по умолчанию. Дополнительные сведения об использовании
метабазы содержатся в разделе Использование объектов IIS Admin.
Область применения
Объект Response
См. также
Flush, End
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
CacheControl
Свойство CacheControl позволяет включать в ответ заголовок HTTP/1.1 «Cache-Control».
Синтаксис
Response.CacheControl [= Заголовок_управления_кэшем ]
Параметры
Заголовок_управления_кэшем
Ниже приведен выборочный список значений, поддерживаемых протоколом HTTP/1.1.
Более подробные сведения содержатся в спецификации Hypertext Transfer Protocol -HTTP/1.1 на веб-узле World Wide Web Consortium в разделе 14.9.
Значение
Описание
Private
Механизм кэширования может сохранить
эту страницу в личном кэше и повторно
отправить ее только одному клиенту. Это
значение используется по умолчанию.
Большинство прокси-серверов не будут
кэшировать страницы при этом значении
параметра.
Public
Общие кэши, например прокси-серверы,
будут кэшировать страницы при этом
значении параметра. Кэшированная
страница сможет быть отправлена любому
пользователю.
No-cache
Кэширование этой страницы запрещено,
даже для использования одним и тем же
клиентом.
No-store
Ответ и создавший его запрос не должны
храниться ни в каком кэше: ни в общем, ни
в личном. Здесь подразумевается
долговременное хранилище, такое как
магнитная лента. Это не может служить
точной гарантией безопасности.
Примечание
На пути между веб-сервером и пользователем, запрашивающим страницу, могут
находиться прокси-серверы, настроенные на кэширование веб-страниц для ускорения их
загрузки. Обычно ASP-страницы уникальны для каждого пользователя либо содержат
конфиденциальные сведения. По этой причине IIS задает для этого свойства значение
«Private», чтобы прокси-серверы или другие средства кэширования не кэшировали эти
страницы. Но можно использовать любое другое значение, поддерживаемое протоколом
HTTP/1.1, описанным в спецификации Hypertext Transfer Protocol -- HTTP/1.1 на вебузле World Wide Web Consortium.
Если между веб-сервером и клиентским компьютером нет средства кэширования либо
если прокси-сервер поддерживает только протокол HTTP/1.0, значение CacheControl не
будет учитываться.
Установка значения «public» свойства CacheControl увеличит скорость обработки ASPфайлов, но это не даст преимущества, если для каждого запроса будет генерироваться
индивидуальный HTML-файл, и прокси-сервер может только помешать получению
ответа.
Значения свойства CacheControl являются строками и должны быть заключены в кавычки
(" "). Значение свойства CacheControl необходимо задавать до отправки ответа клиенту,
если только не включена буферизация.
Пример
Значение CacheControl стоит перед тегом <HTML>, что гарантирует задание этого
свойства до отправки содержимого клиенту.
--- CacheControl_NoBuffer.asp --<%
Response.Buffer = False
Response.CacheControl = "private"
%>
<HTML><HEAD><TITLE>Пример Response.CacheControl</TITLE></HEAD>
<BODY>
Результат выполнения этой страницы отправляется клиенту по мере
готовности.<BR>
Он не будет кэшироваться.<BR>
Сегодня <%= Date %>, <%= Time %><BR>
<H3>Введите номер кредитной карты:</H3>
<FORM NAME="Order" METHOD="POST" ACTION="order.asp ">
<INPUT TYPE="TEXT" NAME="CreditCard">
<INPUT TYPE="SUBMIT" VALUE="Отправить" NAME="Submit">
</FORM>
</BODY>
</HTML>
--- CacheControl_Buffer.asp --<% Response.Buffer = True %>
<HTML><HEAD><TITLE>Пример Response.CacheControl</TITLE></HEAD>
<BODY>
Результат выполнения этой страницы отправляется клиенту полностью сразу после
выполнения на сервере, так что значение CacheControl можно задать в любом
месте.<BR>
<% Response.CacheControl = "private" %>
Он не будет кэшироваться.<BR>
Сегодня <%= Date %>, <%= Time %><BR>
<H3>Введите номер кредитной карты:</H3>
<FORM NAME="Order" METHOD="POST" ACTION="order.asp ">
<INPUT TYPE="TEXT" NAME="CreditCard">
<INPUT TYPE="SUBMIT" VALUE="Отправить" NAME="Submit">
</FORM>
</BODY>
</HTML>
Область применения
Объект Response
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Charset
Свойство Charset добавляет название набора символов (например, ISO-LATIN-7) к
заголовку типа содержимого в объекте Response.
Синтаксис
Response.Charset(ИмяНабораСимволов)
Параметры
ИмяНабораСимволов
Строка, которая указывает набор символов для страницы. Название набора
символов будет добавлено к заголовку типа содержимого в объекте Response.
Примечания
Эта функция вставляет любую строку в заголовок независимо от того, соответствует ли
она допустимому набору символов.
Если одна страница содержит несколько тегов, включающих Response.Charset, каждый
Response.Charset будет замещать предыдущее ИмяНабораСимволов. В результате набор
символов будет установлен в значение, указанное последним экземпляром
Response.Charset на странице.
Если кодовая страница веб-страницы совпадает с используемыми по умолчанию
параметрами веб-клиента, задавать кодовую страницу на этой веб-странице не
обязательно. Однако кодовую страницу все же рекомендуется задавать.
Если кодовая страница задается с использованием Response.CodePage, Session.CodePage,
@CodePage или свойства метабазы AspCodePage, также следует задавать
Response.Charset. Значение кодовой страницы указывает IIS способ кодирования данных
при создании ответа, а значение набора символов указывает обозревателю, как
раскодировать данные при отображении ответа. ИмяНабораСимволов метода
Response.Charset должно совпадать со значением кодовой страницы. В противном случае
в обозревателе будут отображаться смешанные знаки. Список ИменНабораСимволов и
соответствующие значения кодовой страницы содержатся на веб-странице MSDN Web
Workshop в столбцах Preferred Charset Label и FamilyCodePage.
При написании и проверке веб-страниц, использующих различные кодовые страницы и
наборы символов (например, при создании многоязычного веб-узла) следует помнить, что
на проверочном клиентском компьютере должны быть установлены пакеты для
поддержки каждого языка, текст на котором требуется отображать. Языковые пакеты
можно установить в окне Язык и региональные стандарты, открываемом с панели
управления.
На компьютерах «Макинтош» набор символов по умолчанию установлен не ISO-LATIN1. При обработке документов Personal Web Server для «Макинтош» автоматически
преобразовывает набор символов «Макинтош» в ISO-Latin-1. В американской версии
предполагается, сто все страницы имеют американский набор символов «Макинтош»,
если не использован Response.Charset. Если Response.Charset использован для
изменения набора символов, Personal Web Server для «Макинтош» не преобразовывает
набор символов.
Пример
Для страницы ASP, не имеющей свойства Response.Charset, заголовок типа содержимого
будет иметь вид
content-type:text/html
Если тот же ASP-файл включает
<% Response.Charset= "ISO-LATIN-7" %>
заголовок типа содержимого будет иметь вид
content-type:text/html; charset=ISO-LATIN-7
Область применения
Объект Response
См. также
CodePage
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
CodePage
Свойство CodePage определяет способ кодирования строк во внутренних объектах.
Кодовая страница представляет собой набор символов, который может включать числа,
знаки пунктуации и другие знаки. Для каждого языка существуют собственные кодовые
страницы. Некоторые языки, такие как японский и хинди, используют многобайтовые
знаки, а другим, таким как английскому и немецкому, для представления каждого знака
достаточно одного байта. Свойство CodePage доступно для чтения и записи.
Синтаксис
Response.CodePage [= КодоваяСтраница ]
Параметры
КодоваяСтраница
Целое, представляющее кодовую страницу форматирования знаков. Целые значения и
соответствующие им кодовые страницы содержатся на веб-узле MSDN Web Workshop в
столбце FamilyCodePage.
Примечания
Явное задание Response.CodePage влияет на одну страницу, а Session.CodePage влияет на
все страницы в ходе текущего сеанса.
Если свойство Response.CodePage не задано явно на веб-странице, оно задается неявно из
значения Session.CodePage, если разрешено использование сеансов. Если использование
сеансов не разрешено, свойство Response.CodePage задается директивой @CodePage, если
она присутствует на странице. Если не странице нет директивы @CodePage, свойство
Response.CodePage будет устанавливаться по значению свойства метабазы AspCodePage.
Если свойство метабазы AspCodePage не установлено или имеет значение 0, свойство
Response.CodePage устанавливается по системной кодовой странице ANSI.
На одной странице может быть задана только одна кодовая страница. В противном случае
будут отображаться неверные знаки. Если кодовая страница явно задается на двух
страницах, где одна страница вызывает другую директивой #include, Server.Execute или
Server.Transfer, обычно кодовая страница определяется родительской страницей.
Единственным исключением является случай, когда явно задан метод Response.CodePage
на родительской странице при вызове Server.Execute. В этом случае команда @CodePage
на дочерней странице переопределяет родительскую кодовую страницу.
Явно заданные строки в сценарии кодируются по значению директивы @CodePage (при ее
наличии) или значению метабазы AspCodePage (если оно задано) либо по системной
кодовой странице. Если в явном виде планируется задать Response.CodePage или
Session.CodePage, сделайте это до отправки неявно заданных строк клиенту. Если на
одной странице используются как явно, так и неявно заданные строки, убедитесь, что
кодовая страница @CodePage совпадает с кодовой страницей Response.CodePage. В
противном случае явно заданные строки будут кодироваться не так, как неявно заданные
строки, и отображаться неправильно.
Если кодовая страница веб-страницы совпадает с используемыми по умолчанию
параметрами веб-клиента, задавать кодовую страницу на этой веб-странице не
обязательно. Однако его все же рекомендуется задавать.
Если на веб-странице задана кодовая страница, следует также задать Response.Charset.
Значение кодовой страницы указывает IIS способ кодирования данных при создании
ответа, а значение набора символов указывает обозревателю, как раскодировать данные
при отображении ответа. ИмяНабораСимволов метода Response.Charset должно совпадать
со значением кодовой страницы. В противном случае в обозревателе будут отображаться
смешанные знаки. Список ИменНабораСимволов и соответствующие значения кодовой
страницы содержатся на веб-странице MSDN Web Workshop в столбцах Preferred
Charset Label и FamilyCodePage.
Формат файла веб-страницы должен соответствовать кодовой странице, заданной
директивой @CodePage в этом же файле. Блокнот (Notepad.exe) позволяет сохранять
файлы в формате UTF-8 или в системном формате ANSI. Например, если для UTF-8
задана директива @CodePage с аргументом 65001, файл веб-страницы должен быть
сохранен в формате UTF-8. Если задана директива @CodePage с аргументом 1252, файл
веб-страницы должен быть сохранен в формате ANSI в системе с английским или
немецким языком. Если требуется сохранить страницу в формате ANSI для языка,
отличающегося от системного языка, можно сменить используемый по умолчанию
системный язык в окне Язык и региональные стандарты, открываемом с панели
управления. Например, после смены системного языка на японский все файлы,
сохраняемые в формате ANSI, будут сохраняться с использованием японской кодовой
страницы и будут отображаться только на компьютере, по умолчанию использующем
японский язык.
При написании и проверке веб-страниц, использующих различные кодовые страницы и
наборы символов (например, при создании многоязычного веб-узла) следует помнить, что
на проверочном клиентском компьютере должны быть установлены пакеты для
поддержки каждого языка, текст на котором требуется отображать. Языковые пакеты
можно установить в окне Язык и региональные стандарты, открываемом с панели
управления.
Пример
В следующем примере показана домашняя страницы многоязычного веб-узла. Домашняя
страница сохранена в формате UTF-8, чтобы отображались знаки на всех языках.
Домашняя страница переадресовывает клиента на страницу, соответствующую его языку,
определяя язык клиента с помощью переменной сервера HTTP_ACCEPT_LANGUAGE.
--- Default.asp --<%@ CodePage=65001 Language="VBScript"%>
<%
' Default.asp
' Этот файл сохранен в формате UTF-8.
' Системная кодовая страница не имеет значения, поскольку
' заданы @CodePage, Response.CodePage и Response.Charset.
' В противном случае в качестве системной будет выбрана используемая по
умолчанию кодовая страница.
Response.CodePage = 65001
Response.CharSet = "utf-8"
' Перенаправление на соответствующую домашнюю страницу в зависимости от языка
клиента.
Select Case Request.ServerVariables("HTTP_ACCEPT_LANGUAGE")
Case "en-us", "en", "fr", "fr-fr", "es", "es-es", "zh", "zh-cn", "zh-tw"
Response.Redirect Request.ServerVariables("HTTP_ACCEPT_LANGUAGE") &
"Start.asp"
Case Else
%>
Добро пожаловать! Щелкните <a href="enStart.asp">здесь</a> для перехода
на английский веб-узел.<BR><BR>
Bienvenue. Cliquetez <a href="frStart.asp">ici</a> pour aller au Web site
franзais.<BR><BR>
Recepciуn. Haga clic <a href="esStart.asp">aquн</a> para ir al Web site
espaсol.<BR><BR>
[Ссылка на китайский веб-узел]<BR><BR>
[Ссылка на тайваньский веб-узел]<BR><BR>
<%
End Select
%>
--- En-usStart.asp --<%@ Language="VBScript" %>
<% Response.Redirect "enStart.asp" %>
--- EnStart.asp --<%@ CodePage=1252 Language="VBScript"%>
<%
' enStart.asp
' Этот файл сохранен в формате ANSI с системным языком «US English».
' Системный язык не имеет значения, поскольку
' заданы @CodePage и Response.CodePage.
' В противном случае в качестве системной будет выбрана используемая по
умолчанию кодовая страница.
Response.CodePage = 1252
Response.CharSet = "windows-1252"
Response.Write "<H1 align=center>Сегодняшние новости</H1>"
%>
Сюда можно вставить дополнительное содержимое, используя<BR>
компонент IIS Content Linking, <BR>
компонент IIS Content Rotator или <BR>
компонент IIS Ad Rotator.<BR>
Область применения
Объект Response
См. также
Charset, Поддержка клиентов, использующих другие языки
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
ContentType
Свойство ContentType указывает тип содержимого HTTP для ответа. Если ContentType
не указано, по умолчанию считается text/HTML.
Синтаксис
Response.ContentType [= ТипСодержимого ]
Параметры
ТипСодержимого
Строка, описывающая тип содержимого. Строка обычно имеет формат тип/подтип,
где тип — общая категория содержимого, а подтип — конкретный тип
содержимого. Полный список поддерживаемых типов содержимого приведен в
документации веб-обозревателя и в текущей спецификации HTTP.
Пример
В приведенном ниже примере тип содержимого устанавливается как файл в формате
определения каналов (CDF).
<% Response.ContentType = "application/x-cdf" %>
В приведенных ниже примерах свойство ContentType устанавливается в другие часто
используемые значения.
<%
<%
<%
<%
<%
Response.ContentType
Response.ContentType
Response.ContentType
Response.ContentType
Response.ContentType
=
=
=
=
=
"text/HTML" %>
"image/GIF" %>
"image/JPEG" %>
"text/plain" %>
"image/JPEG" %>
Область применения
Объект Response
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Expires
Свойство Expires указывает длину промежутка времени, после которого истекает срок
хранения страницы, кэшированной обозревателем. Если пользователь обращается к той
же странице до истечения ее срока действия, отображается кэшированная версия
страницы.
Синтаксис
Response.Expires [= число]
Параметры
число
Время (в минутах) до истечения срока действия страницы.
Примечания
Когда ASP-файл вызывает Response.Expires, IIS создает заголовок HTTP, показывающий
время на сервере. Если системные часы на компьютере-клиенте показывают время более
раннее, чем на сервере (из-за неточной установки времени или разницы в часовых поясах),
установка параметра в 0 не приведет к тому, что время действия страницы истечет
немедленно. Можно использовать свойство Response.ExpiresAbsolute для достижения
немедленного истечения время действия страницы. Кроме того, можно использовать
отрицательные числа в свойстве Expires. Например,
<%Response.Expires = -1 %>
вызовет немедленное истечение срока действия ответа.
Если на странице имеется несколько вызовов Response.Expires, сервер будет
использовать самый короткий промежуток времени.
Область применения
Объект Response
См. также
ExpiresAbsolute
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
ExpiresAbsolute
Свойство ExpiresAbsolute указывает дату и время, когда истекает срок хранения
страницы, кэшированной обозревателем. Если пользователь обращается к той же странице
до истечения ее срока действия, отображается кэшированная версия страницы. Если время
не указано, срок действия страницы истекает в полночь того же дня. Если дата не указана,
срок действия страницы истекает в указанное время дня, когда сценарий был запущен.
Синтаксис
Response.ExpiresAbsolute [= [дата] [время]]
Параметры
дата
Указывает дату истечения срока действия страницы. Значение, передаваемое в
заголовке окончания действия, удовлетворяет формату даты RFC-1123.
время
Указывает время истечения срока действия страницы. Это значение преобразуется
во время по Гринвичу перед отправкой заголовка окончания действия.
Примечания
Если это свойство устанавливается на странице несколько раз, используется дата и время
самого раннего времени окончания срока действия.
Пример
В приведенном ниже примере срок истечения действия страницу устанавливается через 15
секунд после 13:30 31 мая 2001 г.
<% Response.ExpiresAbsolute=#May 31,2001 13:30:15# %>
Область применения
Объект Response
См. также
Expires
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
IsClientConnected
Свойство IsClientConnected является свойством, доступным только для чтения, которое
показывает, не был ли клиент отключен от сервера.
Синтаксис
Response.IsClientConnected ( )
Примечания
Это свойство позволяет лучше контролировать обстоятельства, при которых клиент может
быть отключен от сервера. Например, если между запросом клиента и откликом со
стороны сервера прошел длительный промежуток времени, перед продолжением
обработки сценария может быть полезно убедиться, что клиент по-прежнему подключен.
Пример
<%
'Проверка подключения клиента.
If Not Response.IsClientConnected Then
'Получение кода сеанса для отправке функции завершения сеанса.
Shutdownid = Session.SessionID
'Завершение сеанса.
Shutdown(Shutdownid)
End If
%>
Область применения
Объект Response
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
LCID
Свойство LCID указывает способ форматирования дат, времени и денежных единиц. Для
каждого географического региона существуют собственные LCID. Одни используют
формат даты ГГ-ММ-ДД, а другие – ММ-ДД-ГГГГ. Свойство LCID доступно для чтения
и записи.
Синтаксис
Response.lcid [= ИдентификаторЯзыка ]
Параметры
ИдентификаторЯзыка
Целое, обозначающее географическое расположение. Целые значения и соответствующие
им языки можно найти в библиотеке MSDN.
Примечания
Явное задание Response.LCID влияет на одну страницу, а Session.LCID влияет на все
страницы в ходе текущего сеанса.
Если свойство Response.LCID не задано явно на веб-странице, оно задается неявно из
значения Session.LCID, если разрешено использование сеансов. Если использование
сеансов не разрешено, свойство Response.LCID задается директивой @LCID, если она
присутствует на странице. Если не странице нет директивы @LCID, свойство
Response.LCID будет устанавливаться по значению свойства метабазы AspLCID. Если
свойство метабазы AspLCID не установлено или имеет значение 0, свойство
Response.LCID устанавливается по используемому по умолчанию системному языку.
Response.LCID можно задать на странице несколько раз и в каждом случае использовать
для специального форматирования данных. В некоторых языках для правильного
отображения знаков необходимо установить соответствующую кодовую страницу.
Например, для отображения на одной странице дат и времени в разных районах должна
быть выбрана кодовая страница UTF-8 (65001), чтобы правильно отображались все знаки.
Если планируется явно задать Response.LCID или Session.LCID, сделайте это до вывода
форматированного текста. При задании свойства Response.LCID язык меняется как для
ASP-приложения, так и для обработчика сценариев. Используя функцию VBScript
setLocale(), можно сменить язык только для обработчика сценариев.
Если язык веб-страницы совпадает с используемыми по умолчанию параметрами вебклиента, задавать язык на этой веб-странице не обязательно. Однако его все же
рекомендуется задавать.
Если язык задается на веб странице, и на ней же для правильного отображения задается
соответствующая кодовая страница, также должно задаваться значение Response.Charset.
Значение кодовой страницы указывает IIS способ кодирования данных при создании
ответа, а значение набора символов указывает обозревателю, как раскодировать данные
при отображении ответа. ИмяНабораСимволов метода Response.Charset должно совпадать
со значением кодовой страницы. В противном случае в обозревателе будут отображаться
смешанные знаки. Список ИменНабораСимволов и соответствующие значения кодовой
страницы содержатся на веб-странице MSDN Web Workshop в столбцах Preferred
Charset Label и FamilyCodePage.
При написании и проверке веб-страниц, использующих различные языки, кодовые
страницы и наборы символов (например, при создании многоязычного веб-узла) следует
помнить, что на проверочном клиентском компьютере должны быть установлены пакеты
для поддержки каждого языка, текст на котором требуется отображать. Языковые пакеты
можно установить в окне Язык и региональные стандарты, открываемом с панели
управления.
Пример
В следующем примере отображаются дата, время, сумма денег и десятичное значение в
формате разных языков. Для правильного отображения всех знаков выбрана кодовая
страница UTF-8.
--- Response_LCID.asp --<%
' В этом файле не нужно указывать @LCID и @CODEPAGE и
' его не нужно сохранять в формате UTF-8, поскольку он
' не содержит явно заданные строки, требующие форматирования или
кодирования.
Response.Codepage = 65001
Response.Charset = "utf-8"
' Посмотрите, что получится, если убрать значки комментариев в следующих
строках.
'Response.Codepage = 1252
'Response.Charset = "windows-1252"
ShowDateTimeCurrency
ShowDateTimeCurrency
ShowDateTimeCurrency
ShowDateTimeCurrency
ShowDateTimeCurrency
ShowDateTimeCurrency
ShowDateTimeCurrency
ShowDateTimeCurrency
1033,
1041,
1049,
1031,
1025,
1081,
2052,
1042,
"North America"
"Japan"
"Russia"
"Germany"
"Saudi Arabia"
"India"
"China"
"Korea"
Sub ShowDateTimeCurrency(iLCID, sLocale)
Response.LCID = iLCID
Response.Write "<B>" & sLocale & "</B><BR>"
Response.Write FormatDateTime(Date, 1) & "<BR>"
Response.Write FormatDateTime(Time, 3) & "<BR>"
Response.Write FormatCurrency(1000) & "<BR>"
Response.Write FormatNumber(50, 3, 0, 0, -1) & " & " & FormatNumber(.02, 3,
0, 0, -1) & "<BR><BR>"
End Sub
%>
Область применения
Объект Response
См. также
Charset, CodePage, Поддержка клиентов, использующих другие языки
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
PICS
Свойство PICS добавляет значение в заголовок ответа «pics-label».
Синтаксис
Response.PICS(МеткаPICS)
Параметры
МеткаPICS
Строка, которая является правильно отформатированной меткой PICS. Значение,
указанное параметром МеткаPICS, будет добавлено в заголовок ответа «picslabel».
Пример
Для ASP-файла, который содержит
<%
Response.PICS("(PICS-1.1 <http://www.rsac.org/ratingv01.html> labels on " &
chr(34) & "1997.01.05T08:15-0500" & chr(34) & " until" & chr(34) &
"1999.12.31T23:59-0000" & chr(34) & " ratings (v 0 s 0 l 0 n 0))")
%>
будет добавлен следующий заголовок:
PICS-label:(PICS-1.1 <http://www.rsac.org/ratingv01.html> labels on
"1997.01.05T08:15-0500" until "1999.12.31T23:59-0000" ratings (v 0 s 0 l 0 n
0))
Примечания
Свойство PICS вставляет строку в заголовок, независимо от корректности метки PICS.
Если страница содержит несколько тегов, включающих Response.PICS, каждый
экземпляр будет заменять метку PICS, установленную предыдущим экземпляром. В
результате метка PICS будет установлена в значение, указанное последним экземпляром
Response.PICS на странице.
Поскольку метка PICS содержит кавычки, каждая из них должна быть заменена на " &
chr(34) & ".
Область применения
Объект Response
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Status
Свойство Status указывает значение строки состояния, возвращенной сервером. Значения
состояния определены в спецификации HTTP.
Синтаксис
Response.Status = [ОписаниеСостояния]
Параметры
ОписаниеСостояния
Строка, состоящая из трехзначного числа, показывающего код состояния, и
краткого объяснения этого кода. Например, 310 Move Permanently.
Примечания
Используйте это свойство для изменения строки состояния, возвращенной сервером.
Пример
В приведенном ниже примере устанавливается состояние ответа.
<% Response.Status = "401 Unauthorized" %>
Область применения
Объект Response
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Методы Response
Объект Response имеет следующие методы.








AddHeader
AppendToLog
BinaryWrite
Clear
End
Flush
Redirect
Write
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
AddHeader
Метод AddHeader добавляет новый заголовок HTML и значение в ответ, отправляемый
клиенту. Он не замещает существующий заголовок с тем же именем. Добавленный
заголовок не может быть удален.
Синтаксис
Response.AddHeader ИмяЗаголовка, ЗначениеЗаголовка
Параметры
ИмяЗаголовка
Строка, показывающая имя нового заголовка.
ЗначениеЗаголовка
Строка, показывающая исходное значение нового заголовка.
Примечание
Если клиент настроен на возврат заголовков ответов обратно на сервер в следующем
запросе, можно использовать метод Request.ServerVariables для получения значения
специального заголовка. Имя специального заголовка должно начинаться с «HTTP_».
Например, если добавить заголовок следующим способом:
<% Response.AddHeader "CustomHeader", "CustomValue" %>
заголовок можно получить, если клиент возвращает его на сервер при следующем запросе
следующим способом:
<% ReturnedValue = Request.ServerVariables("HTTP_CustomHeader") %>
Чтобы избежать двусмысленности в имени заголовка, имя не должно содержать символов
подчеркивания (_). Семейство ServerVariables интерпретирует подчеркивания в имени
заголовка как тире. Например, приведенный ниже сценарий вызовет поиск сервером
заголовка с именем MY-HEADER.
<% Request.ServerVariables("HTTP_MY_HEADER") %>
Если другой метод объекта Response может обеспечить требуемые возможности,
рекомендуется использовать другой метод. Например, чтобы отправить определенное
значение из веб-приложения и получить его обратно в последующем запросе независимо
от конфигурации клиента, можно использовать методы Response.Cookies и
Request.Cookies; либо метод Response.CacheControl, чтобы задать режим кэширования
ответа.
Поскольку протокол HTTP требует передачи всех заголовков до передачи содержимого,
требуется изменить все исходящие заголовки перед тем, как сценарий ASP сгенерирует
любую выводимую информацию. В IIS 4.0 это означает, что нужно вызвать AddHeader в
сценарии до передачи любого вывода (например, сгенерированного кодом HTML или
методом Write). В IIS версии 5.0 и более поздних версий буферизация ответов по
умолчанию включена. Следовательно, можно вызывать метод AddHeader в любом месте
сценария, предшествующем любому вызову Flush. Буферизацию вывода можно включить
или выключить, задав свойство метабазы AspBufferingOn или вызвав Response.Buffer в
ASP-сценарии.
Приведенный ниже ASP-файл иллюстрирует это.
<HTML>
Здесь должен быть какой-либо текст веб-страницы.
' Этот заголовок запрещает кэширование данного запроса прокси-серверами,
использующими протокол HTTP/1.0.
<% Response.AddHeader "Pragma", "no-cache" %>
<% Response.Flush %>
<% Response.Write("Кэширование запрещено") %>
</HTML>
Поскольку в приведенном выше примере страница буферизуется по умолчанию, сервер не
будет отправлять вывод клиенту, пока все сценарии на странице не будут обработаны или
не будет вызван метод Flush. Если вызов AddHeader появится после вызова Flush,
сценарий выдаст ошибку времени выполнения.
Пример
Можно использовать метод AddHeader для отправки нескольких копий одного заголовка
с разными значениями, например для заголовков проверки прав доступа. В приведенном
ниже примере используется метод AddHeader, чтобы запросить использование клиентом
обычной проверки подлинности.
<% Response.Addheader "WWW-Authenticate", "BASIC" %>
Приведенный выше сценарий только информирует клиентский обозреватель об
используемом типе проверки подлинности; он не включает основную (Basic) проверку
подлинности на веб-сервере для этого приложения.
Область применения
Объект Response
См. также
Flush, Write, Buffer
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
AppendToLog
Метод AppendToLog добавляет строку в конец записи журнала веб-сервера, относящейся
к этому запросу. В одном разделе сценария метод может быть вызван несколько раз.
Каждый вызов метода добавляет указанную строку к существующей записи.
Синтаксис
Response.AppendToLog строка
Параметры
строка
Текст, добавляемый в файл журнала. Поскольку поля в журнале разделяются
запятыми, строка не может содержать запятых (,).
Примечания
Чтобы указанная строка могла быть записана в файл журнала, необходимо установить
флажок Запрос URI на вкладке Расширенные свойства для узла, чья деятельность будет
фиксироваться в журнале. Чтобы открыть это окно свойств, в окне оснастки IIS щелкните
правой кнопкой мыши веб-узел и выберите команду Свойства. Проверьте, установлен ли
на вкладке Веб-узел флажок Вести журнал, и нажмите кнопку Свойства. Запишите
используемые по умолчанию параметры на вкладке свойств Расширенные свойства.
Дополнительные сведения о настройке расширенного журнала W3C см. в разделе
Настройка расширенного формата журнала W3C.
Пример
В приведенном ниже примере к файлу журнала добавляется текст «content updated».
<% Response.AppendToLog "Content updated" %>
Область применения
Объект Response
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
BinaryWrite
Метод BinaryWrite записывает указанную информацию в текущий вывод HTTP без
преобразования символов. Этот метод полезен для записи не алфавитно-цифровой
информации, например двоичных данных, требуемых специальным приложением.
Синтаксис
Response.BinaryWrite данные
Параметры
данные
Данные, записываемые в вывод HTTP. Этот параметр будет иметь тип VT_ARRAY
| VT_UI1, который является массивом переменной длины, состоящим их
беззнаковых однобайтных символов.
Пример
Если имеется объект, генерирующий массив байт, можно использовать приведенный ниже
вызов BinaryWrite для пересылки данных в специальное приложение.
<%
Set objBinaryGen = Server.CreateObject("MyComponents.BinaryGenerator")
vntPicture = objBinaryGen.MakePicture
Response.BinaryWrite vntPicture
%>
Область применения
Объект Response
См. также
Write
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Clear
Метод Clear стирает любой буферизованный вывод HTML. Однако метод Clear стирает
только тело ответа, не стирая заголовки ответа. Можно использовать этот метод для
обработки ошибочных ситуаций. Обратите внимание, что этот метод вызовет ошибку
времени выполнения, если Response.Buffer не установлен в TRUE.
Синтаксис
Response.Clear
Область применения
Объект Response
См. также
End, Flush
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
End
Метод End вызывает прекращение веб-сервером обработки сценария и возвращение
текущего результата. Оставшаяся часть содержимого файла не обрабатывается.
Синтаксис
Response.End
Примечания
Если Response.Buffer был установлен в TRUE, вызов Response.End приведет к очистке
буфера. Если вывод не должен быть передан пользователю, следует сначала вызвать
Response.Clear.
<%
Response.Clear
Response.End
%>
Область применения
Объект Response
См. также
Buffer, Clear
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Flush
Метод Flush немедленно отправляет буферизованный вывод. Этот метод может вызвать
ошибку времени выполнения, если Response.Buffer не установлен в TRUE.
Синтаксис
Response.Flush
Примечания
Если метод Flush вызывается на странице ASP, сервер не поддерживает запросы на
открытые соединения для этой страницы.
Область применения
Объект Response
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Redirect
Метод Redirect вызывает попытку обозревателя соединиться с другим адресом URL.
Синтаксис
Response.Redirect URL
Параметры
URL
Адрес URL (Uniform Resource Locator), на который перенаправляется обозреватель.
Примечания
Любое содержимое тела ответа, установленное явно на странице, игнорируется. Однако
этот метод не пересылает другие заголовки HTTP, установленные этой страницей для
клиента. Генерируется автоматическое тело ответа, содержащее адрес URL
перенаправления в виде ссылки. Метод Redirect пересылает следующий явный заголовок,
где URL — значение, передаваемое методу.
HTTP 1.0 302 Object Moved
Location URL
Пример
В приведенном ниже примере пользователь перенаправляется на основной веб-узел
корпорации Майкрософт.
<% Response.Redirect "http://www.microsoft.com" %>
Область применения
Объект Response
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Запись
Метод Write записывает указанную строку в текущий вывод HTTP.
Синтаксис
Response.Write variant
Параметры
variant
Данные, которые должны быть записаны. Этот параметр может иметь любой тип
данных, поддерживаемый типом данных VARIANT в Visual Basic Scripting Edition,
включая символы, строки и целые числа. Значение не может содержать
комбинацию символов %>; вместо нее следует использовать управляющую
последовательность %\>. Веб-сервер преобразует управляющую
последовательность при обработке сценария.
Примечания
Если не требуется выбирать используемую по умолчанию кодовую страницу языка, вывод
Response.Write может быть закодирован с использованием других кодовых страниц,
заданных директивой @CodePage, Response.CodePage, Session.CodePage или свойством
метабазы AspCodePage. Дополнительные сведения см. в описаниях методов CodePage и
Charset.
Пример
В приведенном ниже примере для отправки вывода клиенту используются метод
Response.Write и обычный текст HTML.
<H3 align=center>Это вывод сообщения. <% Response.Write "Всем
привет.</H3><BR>" %>
Ваше имя: <% Response.Write Request.QueryString("name") %> <BR>
В следующем примере вместо метода Response.Write используется синтаксис <%=.
Сегодня <%= Date %> <BR>
В приведенном ниже примере к выводу веб-страницы добавляется тег HTML. Поскольку
строка, возвращаемая методом Write, не может содержать комбинацию символов %>,
вместо нее используется управляющая последовательность %\>. Приведенный ниже
сценарий
<% Response.Write "<TABLE WIDTH = 100%\>" %>
дает следующий результат:
<TABLE WIDTH = 100%>
Область применения
Объект Response
См. также
BinaryWrite, Charset, CodePage.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Объект Server
Объект Server предоставляет доступ к методам и свойствам на сервере. Большинство из
этих методов и свойств служат вспомогательными функциями.
Синтаксис
Server.свойство|метод
Свойства
ScriptTimeout
Промежуток времени, который сценарий может выполняться до
истечения времени ожидания.
Методы
CreateObject
Создает экземпляр серверного компонента.
Execute
Выполняет ASP-файл.
GetLastError
Возвращает объект ASPError, который описывает состояние
ошибки.
HTMLEncode
Применяет кодирование HTML к указанной строке.
MapPath
Сопоставляет указанный виртуальный путь (абсолютный путь к
текущему серверу или относительный путь к текущей странице)
с физическим путем.
Transfer
Передает всю информацию о текущем состоянии другому ASPфайлу для обработки.
URLEncode
Применяет правила кодирования адресов URL, включая
управляющие символы, к строке.
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
Свойства Server
Объект Server имеет следующее свойство:

ScriptTimeout
© Корпорация Майкрософт (Microsoft Corporation), 1997-2001. Все права защищены.
ScriptTimeout
Свойство ScriptTimeout указывает максимальный промежуток времени, который
сценарий может выполняться до того, как он будет остановлен.
Время ожидания не учитывает время обработки серверного компонента.
Синтаксис
Server.ScriptTimeout = ЧислоСекунд
Параметры
ЧислоСекунд
Указывает максимальное число секунд, которое сценарий может выполняться до
того, как сервер остановит его. По умолчанию задается значение 90 секунд.
Примечания
Значение ScriptTimeout по умолчанию может быть установлено для веб-сервера или вебслужбы с помощью свойства метабазы AspScriptTimeout. Свойство ScriptTimeout не
может быть установлено в значение, меньшее указанного в метабазе. Нап
Download