Ошибка HTTP 500.22 - внутренняя ошибка сервера (обнаружен параметр ASP.NET, который не применяется в режиме интегрированного управляемого конвейера.) - PullRequest
48 голосов
/ 10 сентября 2011

Я получаю эту ошибку при просмотре приложения.

Ошибка HTTP 500.22 - Внутренняя ошибка сервера (Обнаружен параметр ASP.NET, который не применяется в режиме интегрированного управляемого конвейера.)

.Net Framework 2.0, 3.5 и 4 установлены, и я использую SQL 2008. Может кто-нибудь сказать мне, как решить эту ошибку?

Ответы [ 8 ]

104 голосов
/ 12 сентября 2011

Эта проблема вызвана режимом конвейера в настройке пула приложений, который установлен на вашем веб-сайте.

Short

  • Простой способ Измените режим пула приложений на режим, в котором включен классический конвейер.
  • Правильный путь Необходимо изменить ваше web.config / web-приложение для поддержки интегрированных конвейеров. Обычно это так же просто, как удалить части вашего web.config.
  • Простой способ (плохая практика) Добавьте следующее в ваш web.config. См http://www.iis.net/ConfigReference/system.webServer/validation

     <system.webServer>
         <validation validateIntegratedModeConfiguration="false" />
     </system.webServer>
    

Long Если возможно, лучше всего изменить приложение для поддержки интегрированных конвейеров. Существует ряд изменений между IIS6 и IIS7.x, которые вызовут эту ошибку. Вы можете найти подробности об этих изменениях здесь http://learn.iis.net/page.aspx/381/aspnet-20-breaking-changes-on-iis-70/.

Если вы не можете этого сделать, вам нужно изменить пул приложений, что может быть сложнее сделать в зависимости от вашей доступности для веб-сервера.

  • Перейти на веб-сервер
  • Откройте диспетчер IIS
  • Перейдите на свой сайт
  • Нажмите Расширенные настройки в правой панели действий
  • В разделе «Пул приложений» измените его на пул приложений, для которого включен классический режим.

Проверьте http://technet.microsoft.com/en-us/library/cc731755(WS.10).aspx для получения подробной информации об изменении пула приложений

Если вам нужно создать пул приложений с классическими конвейерами, взгляните на http://technet.microsoft.com/en-us/library/cc731784(WS.10).aspx

Если у вас нет доступа к серверу для внесения этого изменения, вам нужно будет сделать это через ваш хостинг-сервер и обратиться к ним за помощью.

Не стесняйтесь задавать вопросы.

19 голосов
/ 06 ноября 2014

В вашем файле web.config убедитесь, что эти ключи существуют:

<configuration>
    <system.webServer>
        <validation validateIntegratedModeConfiguration="false"/>
    </system.webServer>
</configuration>
10 голосов
/ 15 апреля 2015

Я изменил свой файл web.config для использования HTTPMODULE в двух формах:

IIS: 6

<httpModules>
    <add name="Module" type="app.Module,app"/>
</httpModules>

IIS: 7,5

<system.webServer>
    <modules>
       <add name="Module" type="app.Module,app"/>
    </modules>
</system.webServer>
7 голосов
/ 25 сентября 2015

Использование VS2013 .net 4.5

У меня была такая же проблема.

В разделе «Наиболее вероятные причины» на странице с сообщением об ошибке содержится наиболее полезная информация. Для меня. Он сказал: «Это приложение определяет конфигурацию в разделе system.web / httpModules». Затем в разделе «Вещи, которые вы можете попробовать» было сказано «Перенос конфигурации в раздел system.webServer / modules».

<system.web>
      <httpHandlers>
        <add type="DevExpress.Web.ASPxUploadProgressHttpHandler, DevExpress.Web.v15.1, Version=15.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" verb="GET,POST" path="ASPxUploadProgressHandlerPage.ashx" validate="false" />
        <add type="DevExpress.Web.ASPxHttpHandlerModule, DevExpress.Web.v15.1, Version=15.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" verb="GET" path="DX.ashx" validate="false" />
      </httpHandlers>
      <httpModules>
        <add type="DevExpress.Web.ASPxHttpHandlerModule, DevExpress.Web.v15.1, Version=15.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" name="ASPxHttpHandlerModule" />
      </httpModules>
    </system.web>

в раздел system.webServer.

<system.webServer> 
    <handlers>
      <add type="DevExpress.Web.ASPxUploadProgressHttpHandler, DevExpress.Web.v15.1, Version=15.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" verb="GET,POST" path="ASPxUploadProgressHandlerPage.ashx" name="ASPxUploadProgressHandler" preCondition="integratedMode" />
      <add type="DevExpress.Web.ASPxHttpHandlerModule, DevExpress.Web.v15.1, Version=15.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" verb="GET" path="DX.ashx" name="ASPxHttpHandlerModule" preCondition="integratedMode" />
    </handlers>
    <modules>
      <add type="DevExpress.Web.ASPxHttpHandlerModule, DevExpress.Web.v15.1, Version=15.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" name="ASPxHttpHandlerModule" />
    </modules>
</system.webServer>
1 голос
/ 27 августа 2014

Это сработало для меня:

  1. Удалить изначально созданный сайт.
  2. Восстановить сайт в IIS
  3. Чистый раствор
  4. Построить решение

Похоже, что-то пошло на юг, когда я изначально создал сайт.Я ненавижу решения, похожие на «Перезагрузите компьютер, затем переустановите Windows», не зная, что вызвало ошибку.Но это сработало для меня.Быстро и просто.Надеюсь, это поможет кому-то еще.

0 голосов
/ 16 января 2017

Установите для пула приложений классическое приложение .NET и убедитесь, что приложение Classic .Net работает на линии управляемого классического трубопровода.

0 голосов
/ 11 июня 2014

Personnaly Я столкнулся с этой проблемой при переносе веб-сайта IIS6 в IIS7, чтобы устранить эту проблему, я использовал следующую командную строку:%windir%\System32\inetsrv\appcmd migrate config "MyWebSite\"Обязательно сделайте резервную копию вашего web.config

0 голосов
/ 05 марта 2014

У меня похожая проблема с IIS 7, Win 7 Enterprise Pack.Я изменил пул приложений, как в ответе @Kirk:

Измените режим пула приложений на режим с включенным классическим конвейером ".но мне не повезло.

Добавление еще одного шага сработало для меня: я изменил значение .NET Frameworkis v2.0 моего сайта на .NET Frameworkis v4.0. в ApplicationPool

...