IIS 8 asp.net mvc HTTP помилка 500.19


15

Привіт, я щойно перемістив сервер для моєї бази asp.net mvc. але тепер я отримую таке повідомлення про помилку, і якщо чесно, я тепер знаю, що не так?

Модуль IIS Web Core

Повідомлення BeginRequest

Обробник ще не визначений

Код помилки 0x80070021

Конфігурація помилки Цей розділ конфігурації не можна використовувати на цьому шляху. Це відбувається, коли розділ заблоковано на батьківському рівні. Блокування є або за замовчуванням (overrideModeDefault = "Заборонити"), або встановлено явно тегом локації з overrideMode = "Заборонити" або спадщиною дозволеноїOverride = "false".

введіть тут опис зображення

<?xml version="1.0" encoding="utf-8"?>
<!--
  For more information on how to configure your ASP.NET application, please visit
  http://go.microsoft.com/fwlink/?LinkId=152368
  -->
<configuration>
  <configSections>
    <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
  </configSections>
  <connectionStrings>
    <add name="CosplayConnectionString" connectionString="Data Source=sogaard.us;Initial Catalog=NewCosplay;Integrated Security=False;Persist Security Info=True;User ID=XXXXXX;Password=XXXXXX;MultipleActiveResultSets=True" providerName="System.Data.SqlClient" />
  </connectionStrings>
  <appSettings>
    <add key="MaxImageSize" value="5242880" />
    <add key="webpages:Version" value="2.0.0.0" />
    <add key="webpages:Enabled" value="false" />
    <add key="PreserveLoginUrl" value="true" />
    <add key="ClientValidationEnabled" value="true" />
    <add key="UnobtrusiveJavaScriptEnabled" value="true" />
    <add key="RouteDebugger:Enabled" value="true" />
    <add key="RecaptchaPrivateKey" value="6LeAsuASAAAAAKigNk4qtA5iS_E0RPmYTcQM9U4Z" />
    <add key="RecaptchaPublicKey" value="6LeAsuASAAAAAO8HMUg9HKihCMRx0s53Dazbpoag" />
  </appSettings>
  <system.web>
    <customErrors mode="Off" />
    <httpRuntime targetFramework="4.5" />
    <compilation debug="true" targetFramework="4.5" />
    <authentication mode="Forms">
      <forms loginUrl="~/Account/Login" timeout="2880" />
    </authentication>
    <pages>
      <namespaces>
        <add namespace="System.Web.Helpers" />
        <add namespace="System.Web.Mvc" />
        <add namespace="System.Web.Mvc.Ajax" />
        <add namespace="System.Web.Mvc.Html" />
        <add namespace="System.Web.Optimization" />
        <add namespace="System.Web.Routing" />
        <add namespace="System.Web.WebPages" />
        <add namespace="Recaptcha" />
      </namespaces>
    </pages>
    <profile defaultProvider="DefaultProfileProvider">
      <providers>
        <add name="DefaultProfileProvider" type="System.Web.Providers.DefaultProfileProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection" applicationName="/" />
      </providers>
    </profile>
    <membership defaultProvider="DefaultMembershipProvider">
      <providers>
        <add name="DefaultMembershipProvider" type="System.Web.Providers.DefaultMembershipProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" applicationName="/" />
      </providers>
    </membership>
    <roleManager defaultProvider="CosplayRoleProvider" enabled="true" cacheRolesInCookie="true">
      <providers>
        <clear />
        <add name="CosplayRoleProvider" type="Sogaard.us.Cosplay.Library.CosplayRoleProvider, Sogaard.us.Cosplay, Version=1.0.0.0, Culture=neutral" connectionStringName="DefaultConnection" applicationname="Cosplay" />
      </providers>
    </roleManager>
    <sessionState mode="InProc" customProvider="DefaultSessionProvider">
      <providers>
        <add name="DefaultSessionProvider" type="System.Web.Providers.DefaultSessionStateProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
      </providers>
    </sessionState>
    <httpModules></httpModules>
    <httpHandlers></httpHandlers>
  </system.web>
  <system.webServer>
    <httpErrors errorMode="Detailed" />
    <asp scriptErrorSentToBrowser="true" />
    <handlers>
      <remove name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" />
      <remove name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" />
      <remove name="ExtensionlessUrlHandler-Integrated-4.0" />
      <add name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />
      <add name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />
      <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
    </handlers>
    <modules runAllManagedModulesForAllRequests="true"></modules>
    <validation validateIntegratedModeConfiguration="false" />
  </system.webServer>
  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" />
        <bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
        <bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35" />
        <bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="RouteMagic" publicKeyToken="84b59be021aa4cee" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-0.2.2.2" newVersion="0.2.2.2" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>
  <entityFramework>
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />
  </entityFramework>
</configuration>

Ви коли-небудь вирішували це? У мене те саме питання
rik.vanmechelen

Відповіді:


36

У нас була та сама помилка на абсолютно новому сервері.

Причиною була не політика безпеки IIS за замовчуванням, яка зберігається в applicationHost.config, як це запропоновано в іншій відповіді (хоча ми це перевірили). Причиною було те, що ми встановили IIS без підтримки ASP.NET (роль ASP.NET 4.5)!

Коли ми встановили відсутню підтримку ASP.NET, наш додаток лише запустився без змін конфігурації.

Висновок:

Переконайтесь, що у вас встановлена ​​роль ASP.NET разом із IIS, якщо ви отримали цю помилку.


Щоб встановити роль ASP.NET в Windows Server:

  1. Відкрийте майстер додавання ролей та функцій
  2. Перевірте запис ASP.NET [your_version] в розділі Web Server (IIS)-> Web Server->Application Development

Щоб встановити роль ASP.NET в клієнті Windows:

  1. Відкрийте майстер ввімкнення або вимкнення функцій Windows
  2. Перевірте запис ASP.NET [your_version] в розділі Internet Information Services-> World Wide Web Services->Application Development Features

Дякую, рада, що знайшла це. Після встановлення служб Role мені довелося включити ASP.NET v4.0.30319 у функції обмежень ISAPI та CGI.
cdonner

0

Ну, це говорить вам, що не так. system.webServer/HandlersСекція була заблокована де - то ще, а це означає , що ви не можете змінити його в web.configфайлі на поточному рівні (можливо , веб - сайт).

Видаліть:

<handlers>
   <remove name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" />
   <remove name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" />
   <remove name="ExtensionlessUrlHandler-Integrated-4.0" />
   <add name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />
   <add name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />
   <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
</handlers>

з вашого web.configфайлу

Або дізнайтеся, де він був заблокований, і змініть його.
Він, ймовірно, заблокований у applicationHost.configфайлі. Його можна знайти тут: %windir%\system32\inetsrv\config\. Відкрийте його за допомогою текстового редактора та шукайте такий рядок

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

Змініть overrideModeDefaultатрибут на Дозволити


Крім того, ви можете використовувати appcmd.exeдля розблокування розділу для певного веб-сайту чи програми, наприклад:

appcmd.exe unlock config "WebSiteName/app" -section:system.webServer/Handlers

Де "WebSiteName" - це назва веб-сайту, а "/ app" - шлях до вашої програми. Щоб розблокувати його для всього веб-сайту:

appcmd.exe unlock config "WebSiteName" -section:system.webServer/Handlers

Я отримую цей самий heeor, коли я використовую appcmd.exe C: \ Windows \ System32 \ inetsrv> appcmd.exe, розблокувати конфігурацію "test.cosplay.dk/app" -секція ion: system.webServer / Handlers ПОМИЛКА (повідомлення: Помилка конфігурації Ім'я файлу: \\? \ C: \ Сервер \ Каспер \ Веб \ test.cosplay.dk \ web.config Номер рядка: 71 Опис: Цей розділ конфігурації не можна використовувати на цьому шляху. Це відбувається, коли розділ заблокований у батьківський рівень. Блокування або за замовчуванням (ov errideModeDefault = "Заборонити"), або встановлено явно тегом локації з overrideMode = "Заборонити" або спадщиною enableOverride = "false".)
Андромем

Але це абсолютно новий встановлений сервер, і це перший веб-сайт, який знаходиться на ньому, як ще щось заблокувати обробники?
Андром

Потім видаліть Handlersрозділ. Він може бути заблокований за замовчуванням. Ви перемістили сайт із вікна Win2008?
Mathias R. Jessen

Так, Win2008R2, якщо я видалю обробники та модулі, mvc не працюватиме! я отримав це прийняти обробники з командою, але модулі не будуть слідувати :(
Androme
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.