Поделиться через


Элемент httpRuntime (схема параметров ASP.NET)

Устанавливает настройки времени выполнения ASP.NET HTTP, определяющие порядок обработки запросов в приложении ASP.NET.

<httpRuntime
   apartmentThreading = "[True|False]"
   appRequestQueueLimit = "number"
   delayNotificationTimeout = "number"
   enable = "[True|False]" 
   enableHeaderChecking = "[True|False]" 
   enableKernelOutputCache = "[True|False]" 
   enableVersionHeader = "[True|False]" 
   encoderType = "name"
   executionTimeout = "number"   
   maxRequestLength = "number" 
   maxWaitChangeNotification = "number" 
   minFreeThreads = "number" 
   minLocalRequestFreeThreads = "number" 
   requestLengthDiskThreshold = "number" 
   requestValidationMode = "[2.0|4.0]"
   requestValidationType = "name"
   requireRootedSaveAsPath = "[True|False]"
   sendCacheControlHeader = "[True|False]" 
   shutdownTimeout = "number"
   useFullyQualifiedRedirectUrl = "[True|False]" 
   waitChangeNotification = "number" 
/>

Атрибуты и элементы

В следующих разделах описаны атрибуты, дочерние и родительские элементы.

Атрибуты

Атрибут

Описание

apartmentThreading

Необязательный атрибут элемента Boolean.

Включает потоковое подразделение для обеспечения классической совместимости ASP.

По умолчанию используется значение False.

appRequestQueueLimit

Необязательный атрибут элемента Int32.

Задает максимальное число запросов, которое помещается в очередь приложения при использовании ASP.NET. Если для обработки запроса недостаточно свободных потоков, то запрос помещается в очередь. Если количество элементов в очереди превышает количество, указанное в данном атрибуте, то входящие запросы будут отклонены с ошибкой "503 - Server Too Busy" (503 — Сервер перегружен).

Значение по умолчанию равно 5000. В .NET Framework версий 1.0 и 1.1 используется значение по умолчанию 100.

delayNotificationTimeout

Необязательный атрибут элемента Int32.

Задает время ожидания в секундах для задержки уведомлений.

Значение по умолчанию равно 5.

enable

Необязательный атрибут элемента Boolean.

Указывает, разрешен ли для домена приложений (AppDomain) прием входящих запросов на уровне текущего и дочернего узлов. Имеет значение False, если приложение отключено.

Значение по умолчанию — True.

enableHeaderChecking

Необязательный атрибут элемента Boolean.

Указывает, следует ли выполнять в ASP.NET проверку заголовка запроса на наличие потенциальных атак путем внедрения. В случае обнаружения атаки ASP.NET возвращает ошибку.

Значение по умолчанию — True.

enableKernelOutputCache

Необязательный атрибут элемента Boolean.

Указывает, включено ли кэширование выходного потока. Этот атрибут учитывается только в том случае, если установлены службы Microsoft Internet Information Services (IIS) 6.0 или более поздней версии. Настройки кэширования выходного потока и тип запроса определяют, когда следует выполнять кэширование содержимого.

Кэширование ответного сообщения выполняется, если соблюдаются следующие условия:

  • Кэширование должно быть явно включено с помощью директивы страницы или с помощью API-интерфейса кэширования.

  • Следует определить политику сроков действия для кэширования, которая определяет, в какой момент ответ отклоняется ядром.

  • При кэшировании не используются переменные заголовки или параметры.

  • Не требуется проверка подлинности.

Значение по умолчанию — True.

enableVersionHeader

Необязательный атрибут элемента Boolean.

Указывает, следует ли в ASP.NET выводить версию заголовка. Этот атрибут используется в Microsoft Visual Studio 2005 для определения используемой версии ASP.NET. Этот атрибут является необязательным для рабочих веб-узлов и может быть отключен.

ПримечаниеПримечание
Этот атрибут недоступен в .NET Framework 1.0.

Значение по умолчанию — True.

encoderType

Получает или задает имя пользовательского типа, который можно использоваться для обработки кодировки HTML и URL.

ASP.NET использует тип HttpEncoder как обработчик по умолчанию для задач HTML и URL-кодирования. Чтобы настроить поведение шифрования, можно использовать класс, который наследует от типа HttpEncoder. В файле конфигурации для приложения затем следует задать атрибуту EncoderType элемента httpRuntime полное строковое имя пользовательского типа.

Этот атрибут не использовался до .NET Framework версии 4.

executionTimeout

Необязательный атрибут элемента Int32.

Задает наибольшее число секунд, отведенных для выполнения запроса перед автоматическим прекращением его обработки с помощью ASP.NET.

Заданное время ожидания используется только в том случае, если для атрибута отладки в элементе compilation установлено значение False. Если атрибут debug имеет значение True, то чтобы избежать закрытия приложения во время отладки, не следует задавать большое значение времени задержки.

Значение по умолчанию равно 110. В .NET Framework версии 1.0 и 1.1 используется значение по умолчанию 90 секунд.

maxRequestLength

Необязательный атрибут элемента Int32.

Задает пороговое значение для буферизации входного потока в КБ. Данное значение используется для предотвращения атак типа "отказ в обслуживании", происходящих при отправке пользователями на сервер больших файлов.

Значение по умолчанию равно 4096. При превышении порогового значения возникает исключение ConfigurationErrorsException.

maxWaitChangeNotification

Необязательный атрибут элемента Int32.

Задает максимальное значение времени ожидания (в секундах) с момента получения первого уведомления об изменении файла до перезапуска AppDomain для нового запроса. Для этого атрибута следует устанавливать значение, превышающее допустимое время на выполнение любого процесса копирования файла. Уведомления об изменении файлов объединяются на основании значений этого атрибута и атрибута waitChangeNotification.

Значение по умолчанию равно 0.

minFreeThreads

Необязательный атрибут элемента Int32.

Задает минимальное число свободных потоков, необходимое для выполнения новых запросов. При использовании ASP.NET заданное число потоков освобождается для запросов, которым для завершения обработки требуются дополнительные потоки.

Значение по умолчанию равно 8.

minLocalRequestFreeThreads

Необязательный атрибут элемента Int32.

Задает минимальное число свободных потоков, которые при использовании ASP.NET остаются доступными для выполнения новых локальных запросов. Заданное число потоков резервируется для запросов, исходящих от локального хоста, в том случае, когда некоторые запросы в процессе своей обработки создают дочерние запросы к локальному хосту. Это предотвращает зависание, связанное с рекурсивным повторным вводом данных на веб-сервер.

Значение по умолчанию равно 4.

requestLengthDiskThreshold

Необязательный атрибут элемента Int32.

Задает пороговое значение для буферизации входного потока в килобайтах. Это значение не должно превышать значение атрибута maxRequestLength.

Значение по умолчанию равно 80.

requestValidationMode

Необязательный атрибут элемента Int32.

Получает или задает номер версии, указывающий, какой подход к проверке в зависимости от версии ASP.NET будет использован.

Значение, присвоенное этому свойству не проверяется в соответствии с конкретной версией ASP.NET. Любое числовое значение меньше 4.0 (например, 3.7, 2.9 или 2.0) интерпретируется как 2.0. Любое число больше 4.0 интерпретируется как 4.0.

По умолчанию используется значение 4.0.

requestValidationType

Необязательный атрибут элемента String.

Получает или задает имя типа, используемого для проверки HTTP-запросов.

Чтобы настроить поведение проверки запроса ASP.NET, можно создать класс, который наследует от типа RequestValidator. В файле конфигурации для приложения затем следует задать атрибуту requestValidationType элемента httpRuntime полное строковое имя пользовательского типа.

По умолчанию используется полное имя типа RequestValidator, используемого ASP.NET для проверки

requireRootedSaveAsPath

Необязательный атрибут элемента Boolean.

Указывает, должен ли параметр filename метода SaveAs содержать абсолютный путь. Процесс ASP.NET должен иметь права на создание файлов в указанному расположении.

Значение по умолчанию — True.

sendCacheControlHeader

Необязательный атрибут элемента Boolean.

Указывает, следует ли отправлять заголовок cache control, для которого по умолчанию устанавливается значение Private. При значении True кэширование на стороне клиента отключено.

Значение по умолчанию — True.

shutdownTimeout

Необязательный атрибут элемента Int32.

Задает разрешенное количество секунд, в течение которого должен завершиться рабочий процесс. По истечении времени ожидания при использовании ASP.NET рабочий процесс будет завершен.

По умолчанию используется значение 90 секунд.

useFullyQualifiedRedirectUrl

Необязательный атрибут элемента Boolean.

Указывает, будут ли перенаправления на стороне клиента полными (в форме ссылки "https://server/path", что является необходимым для мобильных элементов управления), или же клиенту будут отправляться относительные перенаправления. При значении True все перенаправления, имеющие неполную форму, автоматически преобразуются к полной форме.

ПримечаниеПримечание
Если для этого атрибута установлено значение False, в некоторых обозревателях могут возникать ошибки при загрузке страниц с отключенными файлами cookie.

По умолчанию используется значение False.

waitChangeNotification

Необязательный атрибут элемента Int32.

Задает время ожидания (в секундах) до получения следующего уведомления об изменении файла перед перезапуском AppDomain. Для этого атрибута следует устанавливать значение, превышающее время между обновлениями двух уведомлений об изменении копии файла. Уведомления об изменении файлов объединяются на основании значений этого атрибута и атрибута maxWaitChangeNotification .

Значение по умолчанию равно 0.

Дочерние элементы

Отсутствует.

Родительские элементы

Элемент

Описание

configuration

Обязательный корневой элемент любого файла конфигурации, используемого средой CLR и приложениями .NET Framework.

system.web

Задает корневой элемент для параметров конфигурации ASP.NET в файле конфигурации и содержит элементы конфигурации для настройки веб-приложений ASP.NET и управления работой этих приложений.

Заметки

Элемент httpRuntime устанавливает настройки времени выполнения ASP.NET HTTP, определяющие порядок обработки запросов в приложении ASP.NET. В .NET Framework представлено несколько разных хост-приложений среды выполнения, включая хост-приложение ASP.NET. При поступлении запроса ASP.NET загружает настройки среды выполнения в процесс, который обрабатывает запрос. ASP.NET также создает домен приложения для каждого веб-приложения, которое будет запущено на веб-сервере.

Параметры по умолчанию

Следующий элемент по умолчаниюhttpRuntime не определен явно в файле Machine.config или корневом файле Web.config. Однако следующие настройки являются значениями по умолчанию, инициализируемыми системой. Чтобы настроить этот раздел, необходимо создать его в файле конфигурации и определить только настраиваемые атрибуты.

<httpRuntime 
   executionTimeout="110"
   maxRequestLength="4096"
   requestLengthDiskThreshold="80"
   useFullyQualifiedRedirectUrl="false"
   minFreeThreads="8"
   minLocalRequestFreeThreads="4"
   appRequestQueueLimit="5000"
   enableKernelOutputCache="true"
   enableVersionHeader="true"
   requireRootedSaveAsPath="true"
   enable="true"
   shutdownTimeout="90"
   delayNotificationTimeout="5"
   waitChangeNotification="0"
   maxWaitChangeNotification="0"
   requestPriority="Normal"
   enableHeaderChecking="true"
   sendCacheControlHeader="true"
   apartmentThreading="false"
/>

Пример

В следующем примере задаются параметры среды выполнения HTTP для приложения ASP.NET.

<configuration>
  <system.web>
  <httpRuntime maxRequestLength="4000"
    enable = "True"
    requestLengthDiskThreshold="512
    useFullyQualifiedRedirectUrl="True"
    executionTimeout="45"
    versionHeader="1.1.4128"/>
  </system.web>
</configuration>

Сведения об элементе

Обработчик раздела конфигурации

HttpRuntimeSection

Элемент конфигурации

HttpRuntime

Настраиваемые расположения

Machine.config

Файл Web.config корневого уровня

Файл Web.config уровня приложения

Файл Web.config уровня виртуального или физического каталога

Требования

Microsoft IIS 5.0, 5.1 или 6.0

.NET Framework 1.0, 1.1 версии 2.0

Microsoft Visual Studio 2003 или Visual Studio 2005

См. также

Ссылки

Элемент system.web (схема параметров ASP.NET)

Элемент configuration (схема общих параметров)

System.Configuration

HttpRuntimeSection

HttpRuntime

Основные понятия

Кэширование страниц ASP.NET

Иерархия и наследование файла конфигурации ASP.NET

Настройка обеспечения безопасности ASP.NET

Другие ресурсы

Общие параметры конфигурации (ASP.NET)

Параметры конфигурации ASP.NET

Администрирование веб-сайта ASP.NET