Конфигурирование и настройка Microsoft ASP.NET
Покупка
Тематика:
Web-технологии. Web-дизайн
Издательство:
ИНТУИТ
Год издания: 2016
Кол-во страниц: 173
Дополнительно
Курс посвящен вопросам архитектуры конфигурирования ASP.NET, параметрам и настройкам, возникающим у разработчиков веб-приложений.
В курсе рассматриваются следующие темы: наследование настроечных файлов ASP.NET; настройка приложений при помощи изменения настроечных параметров; настройка пространства имен System.Web - с описанием всех разделов, параметров и значений; использование настроечных параметров .NET для диагностики системы, .NET Remoting, параметры прокси и JIT-компиляция; тонкая настройка мобильных элементов управления ASP.NET, предназначенных для работы с мобильными устройствами; настройка параметров CLR, включая сборщик мусора и криптографию; использование параметров Microsoft IIS для управления пулами приложений и реализации аутентификации Windows; создание и использование собственных разделов и обработчиков разделов.
Тематика:
ББК:
УДК:
ОКСО:
- ВО - Бакалавриат
- 09.03.01: Информатика и вычислительная техника
- 09.03.02: Информационные системы и технологии
- 09.03.03: Прикладная информатика
- 09.03.04: Программная инженерия
- ВО - Специалитет
- 09.05.01: Применение и эксплуатация автоматизированных систем специального назначения
ГРНТИ:
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов
Конфигурирование и настройка Microsoft ASP.NET 2-е издание, исправленное Национальный Открытый Университет “ИНТУИТ” 2016 2
Конфигурирование и настройка Microsoft ASP.NET/ - М.: Национальный Открытый Университет “ИНТУИТ”, 2016 Курс посвящен вопросам архитектуры конфигурирования ASP.NET, параметрам и настройкам, возникающим у разработчиков веб-приложений. В курсе рассматриваются следующие темы: наследование настроечных файлов ASP.NET; настройка приложений при помощи изменения настроечных параметров; настройка пространства имен System.Web - с описанием всех разделов, параметров и значений; использование настроечных параметров .NET для диагностики системы, .NET Remoting, параметры прокси и JIT-компиляция; тонкая настройка мобильных элементов управления ASP.NET, предназначенных для работы с мобильными устройствами; настройка параметров CLR, включая сборщик мусора и криптографию; использование параметров Microsoft IIS для управления пулами приложений и реализации аутентификации Windows; создание и использование собственных разделов и обработчиков разделов. (c) ООО “ИНТУИТ.РУ”, 2007-2016 (c) 2007-2016 3
Обзор настройки Microsoft ASP.NET В данной лекции описывается структура и формат настроечных файлов, демонстрируются способы редактирования настроечного файла, дается обзор безопасности и обнаружения изменений модели настроек. В первой части описывается работа модели настроек ASP.NET и дан обзор этой модели, который поможет вам понять материал книги. Лекция 1 подробно описывает структуру и формат настроечных файлов, а также функции модели настроек, относящиеся к безопасности и обнаружению изменений. Она включает также обзор редактирования настроечного файла. В лекции 2 сделан упор на архитектуре модели настроек и на то, как настройки интерпретируются и используются в Microsoft .NET Framework. Введение в настройку Microsoft ASP.NET Лекция описывает структуру и формат настроечных файлов, демонстрирует способы редактирования настроечного файла, дает обзор безопасности и обнаружения изменений модели настроек. Особенности и преимущества модели настроек ASP.NET включают следующее. Параметры конфигурации хранятся в файлах XML с расширением .config. Это позволяет редактировать файлы в любом текстовом редакторе. Настроечные файлы кэшируются в Microsoft .NET Framework и не блокируются, что позволяет вносить изменения в действующие настроечные файлы при минимальном влиянии на пользователей. Настройки могут быть созданы в нескольких настроечных файлах и распространены от сервера к приложению и от родительского приложения к дочернему приложению. Это позволяет задавать параметры для сервера, приложения, директории или даже одного файла. Пользовательские разделы и параметры позволяют указать ваши собственные настройки, сохраняемые в настроечных файлах, доступ к которым имеют ваши приложения. Настроечные файлы защищены, и доступ к ним через запросы HTTP осуществляться не может. Обзор конфигурации ASP.NET ASP.NET и .NET Framework включают очень мощную и адаптируемую модель настроек, основанную на настроечных файлах в формате XML. Эти файлы содержат большое разнообразие конфигурационных параметров, которые могут быть указаны с помощью правильного XML. Когда в одном из настроечных файлов делается изменение, при следующем доступе к файлу или приложению конфигурационные параметры перекомпилируются и повторно кэшируются. После компиляции настроечные файлы кэшируются, при этом не производится их блокировка, так что вы можете и дальше изменять эти файлы. Так как файлы имеют формат XML, для их 4
редактирования подойдет любой текстовый редактор. Два главных типа файлов, которые вы будете использовать, называются machine.config и web.config. Файл machine.config содержит настройки для всего сервера и базовые настройки, используемые каждым веб-приложением. Файл machine.config расположен в директории c:\%windir%\Microsoft.Net\ Framework\version\config. Замените слово version на номер установленной у вас версии .NET Framework. Замечание. %windir% является директорией установки Windows; это может быть c:\winnt, c:\windows или еще какая-либо. Файл web.config содержит параметры, специфичные для приложения и всех дочерних приложений или директорий. Файл web.config для веб-приложения хранится в корневой директории этого приложения. Параметры в файле приложения web.config могут переопределять параметры, содержащиеся в файле machine.config. Параметры конкретного файла web.config можно снова переопределить в дополнительном файле web.config дочернего приложения этого приложения. Например, если в файле machine.config сервера отключена трассировка, то это будет параметром по умолчанию для всех приложений ASP.NET, выполняющихся на этом сервере. Если вы включите трассировку в файле web.config для веб-приложения ASP.NET App1, то для App1 трассировка будет включена, а для всех остальных приложений она останется выключенной, так как параметр в файле web.config имеет приоритет над параметрами файла machine.config. Если добавляется дочернее приложение App1, то для этого дочернего приложения трассировка также будет включена, поскольку приложение сначала наследует параметры из файла machine.config, а затем – из файла web.config для App1. Более подробно данный процесс описан в лекции 2, но сейчас нужно запомнить, что параметры уровня сервера хранятся в файле machine.config и могут быть переопределены параметрами уровня приложения, которые хранятся в файле web.config, индивидуальном для каждого приложения. Разбор настроечных файлов ASP.NET Файлы machine.config и web.config играют различные роли в архитектуре конфигурации, но формат и доступные параметры этих файлов практически одинаковы. Эти файлы основаны на XML, поэтому существует несколько правил XML, которые можно к ним применить. XML чувствителен к регистру символов, и эти файлы также чувствительны к регистру. Наборы тегов должны иметь начальный и завершающий теги. Например, <configuration> должен иметь закрывающий </configuration> или закрываться сам <configuration />. 5
Теги могут иметь несколько атрибутов и значений, и значения должны находиться внутри скобок. Поскольку файлы чувствительны к регистру, важно знать два соглашения, используемых при создании настроечных файлов. “Верблюжья” нотация. Каждое слово состоит из строчных букв, за исключением первых букв добавленных слов. Например, appSettings, maxRequestLength, userName. Нотация в стиле Паскаля. Каждое слово начинается с заглавной буквы, включая первое и все добавленные слова, например PublicKeyToken, RemoteOnly, AutoGenerate. Ниже приведен фрагмент файла machine.config, показывающий различные разделы и общую структуру. <?xml version="1.0" encoding="UTF-8" ?> <configuration> <configSections> <sectionGroup name="system.web"> <section name="httpRuntime" type ="System.Web.Configuration.HttpRuntimeConfigurationHandler, System.Web, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> <section name="compilation" type= "System.Web.Configuration.CompilationConfigurationHandler, System.Web, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> </sectionGroup> </configSections> <system.web> <httpRuntime executionTimeout="5000" maxRequestLength="4096" useFullyQualifiedRedirectUrl="false" minFreeThreads="8" minLocalRequestFreeThreads="4" appRequestQueueLimit="100" /> <compilation debug="false" explicit="true" defaultLanguage="vb" strict="false" batch="true" batchTimeout="15" maxBatchSize="1000" maxBatchGeneratedFileSize="3000" numRecompilesBeforeAppRestart="15"> <compilers> <compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CSharp.CSharpCodeProvider, System, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" warningLevel="1" /> <compiler language="vb;vbs;visualbasic;vbscript" extension= ".vb" type="Microsoft.VisualBasic.VBCodeProvider, System, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> 6
<compiler language="js;jscript;javascript" extension=".js" type="Microsoft.JScript.JScriptCodeProvider, Microsoft.JScript, Version=7.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> </compilers> </compilation> </system.web> </configuration> В начале файла machine.config находится объявление XML. <?xml version="1.0" encoding="UTF-8" ?> Эта строка указывает, что файл является документом, совместимым с XML 1.0, и использует кодировку UTF-8. Следующая срока является началом конфигурационных данных. <configuration> Она представляет открывающий тег набора тегов, который содержит все разделы настроек и параметры. В конце файла находится тег </configuration>. Все разделы и параметры располагаются между этими двумя тегами. Объявление обработчика раздела конфигурации Первым в настроечных файлах идет раздел <configSections>. Он содержит объявления обработчиков разделов настроек для последующих разделов настроек. Каждый раздел настроек связан с обработчиком, который будет обрабатывать параметры этого раздела. Каждое объявление связывает свой раздел настроек с обработчиком, который будет обрабатывать параметры этого раздела. Обработчик конфигурации – это класс, который реализует интерфейс IConfigurationSectionHandler и интерпретирует различные параметры и значения раздела настроек. Дополнительная информация. Интерфейс – это вид шаблона .NET. Он включает методы, которые должен содержать реализующий его класс. В этом примере класс, реализующий IConfigurationSectionHandler, должен содержать метод Create(). Давайте более внимательно посмотрим на одно из этих объявлений. <?xml version="1.0" encoding="UTF-8" ?> <configuration> <section name="httpRuntime" type= "System.Web.Configuration.HttpRuntimeConfigurationHandler, System.Web, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> Запись name= ... указывает имя, которое будет использоваться при объявлении раздела 7
в настроечном файле. В нашем примере это имя httpRuntime. Запись type = ... указывает обработчик, который будет обрабатывать данный раздел и интерпретировать его значения. В нашем примере обработчиком является класс System.Web.Configuration.HttpRuntimeConfigurationHandler. Запись type = ... – это информация GAC, требуемая для нахождения правильного класса. Дополнительная информация. GAC, или Global Assembly Cache (глобальный кэш сборок) – это метод, используемый .NET Framework для хранения ссылок на различные сборки .NET, которые должны быть доступны нескольким приложениям. Внутри <configSections> объявлены группы разделов. Вы можете видеть, что несколько объявлений объединены в следующую группу разделов. <sectionGroup name="system.web"> <section name="httpRuntime" type= "System.Web.Configuration.HttpRuntimeConfigurationHandler, System.Web, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> <section name="compilation" type= "System.Web.Configuration.CompilationConfigurationHandler, System.Web, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> </sectionGroup> <system.web> <httpRuntime executionTimeout="5000" maxRequestLength="4096" useFullyQualifiedRedirectUrl="false" minFreeThreads="8" minLocalRequestFreeThreads="4" appRequestQueueLimit="100" /> <compilation debug="false" explicit="true" defaultLanguage="vb" strict="false" batch="true" batchTimeout="15" maxBatchSize="1000" maxBatchGeneratedFileSize="3000" numRecompilesBeforeAppRestart="15"> </compilation> </system.web> <httpRuntime executionTimeout="5000" maxRequestLength="4096" useFullyQualifiedRedirectUrl="false" minFreeThreads="8" minLocalRequestFreeThreads="4" appRequestQueueLimit="100" /> Это означает, что разделы httpRuntime и compilation должны располагаться в группе разделов system.web. Обработчики объявлений подробно описаны в лекции 2, а создание собственных обработчиков – в лекции 9. Группы разделов Как показано в разделе объявлений, различные разделы настроек могут объединяться в 8
группы с целью группировки и логичной организации параметров. Это значительно облегчает чтение и понимание всего разнообразия разделов параметров. Ниже приведен пример такой группировки. <system.web> <httpRuntime executionTimeout="5000" maxRequestLength="4096" useFullyQualifiedRedirectUrl="false" minFreeThreads="8" minLocalRequestFreeThreads="4" appRequestQueueLimit="100" /> <compilation debug="false" explicit="true" defaultLanguage="vb" strict="false" batch="true" batchTimeout="15" maxBatchSize="1000" maxBatchGeneratedFileSize="3000" numRecompilesBeforeAppRestart="15"> </compilation> </system.web> Различные разделы объединены внутри тегов, представляющих объявление имени группы разделов. В нашем примере разделы httpRuntime и compilation объединены в группу разделов system.web. Разделы настроек Разделы настроек – это основа настроечных файлов; в них задаются все настроечные параметры. Эти разделы используют имя, объявленное при объявлении обработчика раздела, и могут содержать несколько настроек, значений и подразделов. Вот раздел настроек из примера файла machine.config. <httpRuntime executionTimeout="5000" maxRequestLength="4096" useFullyQualifiedRedirectUrl="false" minFreeThreads="8" minLocalRequestFreeThreads="4" appRequestQueueLimit="100" /> Этот раздел объединяет несколько различных параметров, таких как executionTimeout и maxRequestLength, связанных со средой выполнения HTTP. Данные параметры обрабатываются одним и тем же обработчиком настроек, указанным в области объявлений обработчиков. Имя раздела всегда представлено в “верблюжьей” нотации. Подразделы Разделы могут содержать подразделы. Подраздел – это параметр, который допускает использование нескольких значений. Подразделы являются частью родительского раздела и обрабатываются тем же обработчиком настроек. Этот пример раздела compilation содержит несколько различных подразделов. <compilation debug="false" explicit="true" defaultLanguage="vb" strict="false" batch="true" batchTimeout="15" maxBatchSize="1000" maxBatchGeneratedFileSize="3000" numRecompilesBeforeAppRestart="15"> <compilers> 9
<compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CSharp.CSharpCodeProvider, System, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" warningLevel="1" /> <compiler language="vb;vbs;visualbasic;vbscript" extension= ".vb" type="Microsoft.VisualBasic.VBCodeProvider, System, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> <compiler language="js;jscript;javascript" extension=".js" type="Microsoft.JScript.JScriptCodeProvider, Microsoft.JScript, Version=7.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> </compilers> </compilation> <compilation debug="false" /> Именем раздела является compilation, он содержит подраздел compilers с несколькими подразделами compiler. Раздел может содержать неограниченное количество подразделов. Имена подразделов должны следовать “верблюжьей” нотации. Параметры Параметры конфигурации находятся либо в разделах, либо в подразделах и включают имя параметра, за которым следует знак равенства и значение, заключенное в кавычки, например: <compilation debug="false" /> Имя раздела настроек – compilation, имя параметра – debug, а значение этого параметра устанавливается в логическое значение False (ложь). Имена параметров почти всегда следуют “верблюжьей нотации”. Значения обычно используют соглашение об именах Паскаля, но имеется пара исключений. Слова true (истина) и false (ложь) всегда пишутся строчными буквами. Значение параметра также может быть символьной строкой, такой как строка подключения к базе данных, и в этом случае оно не следует никакому стандарту на использование регистра. Применение изменений в настроечных файлах Когда пользователь впервые осуществляет доступ по URL, ASP.NET просматривает файл machine.config и все применимые к этой ситуации файлы web.config и определяет, какие настроечные параметры нужно применить к этому URL. Затем эта информация кэшируется, так что при следующем запросе к этому URL она будет доступна, и ее не нужно заново считывать из настроечных файлов. Когда в один из 10