Назад | Перейти на главную страницу

Какой порядок применения настроек IIS из ApplicationHost.config и web.config

Если у меня есть параметр IIS, настроенный как в ApplicationHost.config, так и в web.config, какое значение будет применяться? Это значение ApplicationHost.config, потому что оно глобально для всех веб-сайтов, или значение web.config, потому что оно переопределяет его? И что произойдет, если я не настроил его в web.config, должен ли он взять этот параметр из ApplicationHost.config?

Я должен проверить следующие настройки: system.webServer/security/requestFiltering/requestLimits/maxAllowedContentLength

Причина, по которой я спрашиваю, заключается в том, что я получаю довольно странные результаты, когда пытаюсь настроить эти параметры из приложения C #. Даже если я не настроил его для веб-сайта и вручную установил значение в ApplicationHost.config, я все равно получаю значение по умолчанию из web.config

Файлы конфигурации наследуют свои значения при перемещении вниз по области (сервер -> сайт -> приложение), но по умолчанию это только для определенных разделов. На сайте IIS есть статья о ApplicationHost.config файл, а также делегирование конфигурации.

Например, есть два разных requestFiltering разделы в applicationHost.config: один для FTP-сервера и один для веб-сайтов. Вы можете увидеть, как раздел для веб-сайтов (system.веб сервер) позволяет переопределить значения:

<section name="requestFiltering" overrideModeDefault="Allow" />

Тогда как раздел под system.ftpServer не.

<section name="requestFiltering" overrideModeDefault="Deny" />

Итак, по вашему вопросу. У вас должна быть возможность обновить Web.config, чтобы изменить допустимую длину содержимого для вашего сайта (и дочерних сайтов), если вы не изменили значение overrideModeDefault в своем applicationHost.config.