Erro HTTP 500.19 do IIS 8 asp.net mvc

15

Olá, acabei de mudar de servidor, para o meu framework asp.net mvc. mas agora recebo a seguinte mensagem de erro e, para ser sincero, agora sei o que está errado?

Módulo IIS Web Core

Notificação BeginRequest

Manipulador Ainda não determinado

Código de erro 0x80070021

Erro de configuração Esta seção de configuração não pode ser usada neste caminho. Isso acontece quando a seção está bloqueada no nível pai. O bloqueio é por padrão (overrideModeDefault = "Negar") ou definido explicitamente por uma tag de local com overrideMode = "Negar" ou pelo legado allowOverride = "false".

insira a descrição da imagem aqui

<?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>
Androme
fonte
Alguma vez resolveste isto? Estou tendo o mesmo problema
rik.vanmechelen 15/10

Respostas:

36

Tivemos o mesmo erro em um servidor novo.

O motivo não era a política de segurança padrão do IIS, armazenada em applicationHost.config, como sugerido pela outra resposta (embora tenhamos verificado isso). O motivo foi que instalamos o IIS sem suporte ao ASP.NET (uma função do ASP.NET 4.5)!

Quando instalamos o suporte ausente para o ASP.NET, nosso aplicativo foi iniciado sem nenhuma alteração na configuração.

Conclusão:

Verifique se você possui a função ASP.NET instalada junto com o IIS, se você receber esse erro.


Para instalar a função ASP.NET no Windows Server:

  1. Abra o assistente para adicionar funções e recursos
  2. Verifique a entrada do ASP.NET [sua_versão] em Web Server (IIS)-> Web Server->Application Development

Para instalar a função ASP.NET em um cliente Windows:

  1. Assistente para ativar ou desativar os recursos do Windows
  2. Verifique a entrada do ASP.NET [sua_versão] em Internet Information Services-> World Wide Web Services->Application Development Features
tomash
fonte
Obrigado, feliz por ter encontrado isso. Depois de instalar os serviços de função, tive que ativar o ASP.NET v4.0.30319 no recurso de restrições ISAPI e CGI.
Cdonner
0

Bem, isso diz o que está errado. A system.webServer/Handlersseção foi bloqueada em outro lugar, o que significa que você não pode substituí-la no web.configarquivo no nível atual (provavelmente no site).

Remova:

<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>

do seu web.configarquivo

Ou descubra onde ele foi bloqueado e altere-o.
Provavelmente está bloqueado no applicationHost.configarquivo. Ela pode ser encontrada aqui: %windir%\system32\inetsrv\config\. Abra-o com um editor de texto e procure uma linha como

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

Mude o overrideModeDefaultatributo para Permitir


Como alternativa, você pode usar appcmd.exepara desbloquear a seção de um site ou aplicativo específico, como este:

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

Onde "WebSiteName" é o nome do site e "/ app" é o caminho para o seu aplicativo. Para desbloqueá-lo para todo o site:

appcmd.exe unlock config "WebSiteName" -section:system.webServer/Handlers
Mathias R. Jessen
fonte
Eu obtenho o mesmo nível quando uso o appcmd.exe C: \ Windows \ System32 \ inetsrv> appcmd.exe desbloqueia a configuração "test.cosplay.dk/app" - seção: system.webServer / Handlers ERROR (mensagem: erro de configuração Nome do arquivo: \\? \ C: \ Server \ Kasper \ Web \ test.cosplay.dk \ web.config Número da linha: 71 Descrição: Esta seção de configuração não pode ser usada neste caminho. Isso acontece quando a seção está bloqueada em um O bloqueio é por padrão (ov errideModeDefault = "Negar") ou definido explicitamente por uma tag de localização com overrideMode = "Negar" ou pelo legado allowOverride = "false".)
Androme
Mas este é um servidor instalado completamente novo e este é o primeiro site a ele aplicado, como outra coisa pode bloquear os handelers?
Androme
Em seguida, remova a Handlersseção. Pode estar bloqueado por padrão. Você migrou o site de uma caixa Win2008?
Mathias R. Jessen
Sim Win2008R2, se eu remover os handelers e módulos, o mvc não funcionará! Eu consegui o aceitar os manipuladores com o comando, mas os módulos não seguirão :(
Androme 7/13/13