Ошибка HTTP 500.19 в IIS 8, когда в конфигурации apphost присутствует конфигурация system.web

У нас есть утилита, которая автоматически устанавливает веб-приложения ASP.NET при установке на серверы клиентов. Эта утилита традиционно добавляет ряд конфигураций в путь Location для нового приложения в applicationHost.config. Мы делаем это программно, используя классы конфигурации Microsoft.Web.Administration.

Это отлично работает в IIS 7.0 и IIS 7.5, но когда мы пытаемся установить идентичную конфигурацию в IIS 8 (Server 2012), мы начинаем получать 500.19 ошибок сервера для всего, что размещено на сервере из-за предположительно некорректного элемента XML (HRESULT 0x8007000d) , Я систематически просматривал всю конфигурацию, которую мы устанавливаем, и это, кажется, атрибут system.web / httpRuntime maxRequestLength (см. Ниже). Похоже, что сам элемент конфигурации system.web является виновником, так как ошибка не исчезает, пока сама не будет удалена.

Мы подтвердили, что в определении раздела для system.web / httpRuntime указано, что оно разрешено везде, и вы можете без проблем установить конфигурацию system.web на других уровнях конфигурации (например, web.config). Почему можномы устанавливаем это в applicationHost.config?


    
    
        
    

Редактировать: я заметил после исходного сообщения, что файл, на который ссылается ошибка 500.19, был временным файлом конфигурации пула приложений (C: \ inetpub \ temp \ apppools \ apppoolname \ apppoolname.config. Содержимое этого файла:


Но когда я захожу в applicationHost.config и добавляю определение группы разделов для system.web и определение раздела для httpRuntime, сообщение в 500.19 меняется на утверждение о наличии дублированного определения system.web / httpRuntime! Так что я могу'не могу определить это, и я не могуне определить это. Что я'

Ответы на вопрос(4)

Ваш ответ на вопрос