Почему web.config переопределяет MetaBase.xml? - PullRequest
0 голосов
/ 26 августа 2009

Это может быть пограничный вопрос о сбое сервера, но здесь идет.

У меня есть IIS 6, где AspMaxRequestEntityAllowed="204800" в MetBase.xml, предлагая ограничение на размер загружаемого файла - 200 КБ, тогда как <httpRuntime maxRequestLength="20192"/> в web.config допускает загрузку в 20 МБ - и это то, что позволяет приложение.

Почему web.config переопределяет MetaBase.xml? Мне это кажется ошибкой хирархии. И где я могу найти «централизованный параметр» для настройки максимальных пределов для всей машины, на которой работает сервер, на случай, если я не хочу, чтобы какое-то событие web.config позволяло загружать гигабайты?

Ответы [ 2 ]

0 голосов
/ 26 августа 2009

Файл Web.config является менеджером конфигурации последней точки, и записи в нем будут переопределять любые записи, сделанные на более высоких уровнях.

т.е. любые настройки, сделанные в файле machine.config (которые применимы ко всем веб-сайтам), будут переопределены web.config (применимо только к этому сайту).

Фактически у вас может быть отдельный файл web.config для каждой папки, который будет переопределять ваш корневой уровень web.config.

Вот как работает иерархия, вы знаете.

0 голосов
/ 26 августа 2009

Мне не известно о MetaBase.xml, но на вашем компьютере в папке

имеются настройки по умолчанию.

C: \ Windows \ Microsoft.Net \ Frameworks \ версия \ Config

извините, точное имя может немного отличаться, но вы легко разберетесь, здесь вы найдете несколько разных веб-файлов конфигурации. *., В каждом из которых вы можете настроить, и есть способ, которым вы можете запретить это свойство должно быть изменено на более низком уровне, но я не знаю, как это сделать.

Чтение документации MS httpRuntime говорит, что максимальный предел в любом случае установлен на 4 МБ самим ASP.NET. Я попытаюсь найти, как заблокировать более низкий уровень, чтобы изменить этот элемент в их web.config.

...