IIS 8 asp.net mvc Błąd HTTP 500.19

15

Witaj, właśnie przeniosłem serwer do mojego frameworka mvc asp.net. ale teraz pojawia się następujący komunikat o błędzie i szczerze mówiąc, teraz wiem, co jest nie tak?

Moduł IIS Web Core

Powiadomienie BeginRequest

Handler Jeszcze nie ustalony

Kod błędu 0x80070021

Błąd konfiguracji Z tej sekcji konfiguracji nie można korzystać w tej ścieżce. Dzieje się tak, gdy sekcja jest zablokowana na poziomie nadrzędnym. Blokowanie jest albo domyślnie (overrideModeDefault = „Odmów”), albo jawnie ustawione przez tag lokalizacji z overrideMode = „Odmów” lub starsze zezwalanieOverride = „false”.

wprowadź opis zdjęcia tutaj

<?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>
Androm
źródło
Czy kiedykolwiek to rozwiązałeś? Mam ten sam problem
rik.vanmechelen

Odpowiedzi:

36

Wystąpił ten sam błąd na zupełnie nowym serwerze.

Przyczyną nie była domyślna polityka bezpieczeństwa IIS przechowywana w applicationHost.config, jak sugeruje druga odpowiedź (chociaż to sprawdziliśmy). Powodem było to, że zainstalowaliśmy IIS bez obsługi ASP.NET (rola ASP.NET 4.5)!

Kiedy zainstalowaliśmy brakującą obsługę ASP.NET, nasza aplikacja właśnie się uruchomiła bez żadnych zmian w konfiguracji.

Wniosek:

Sprawdź dwukrotnie, czy masz zainstalowaną rolę ASP.NET wraz z IIS, jeśli pojawi się ten błąd.


Aby zainstalować rolę ASP.NET w systemie Windows Server:

  1. Otwórz kreatora dodawania ról i funkcji
  2. Sprawdź pozycję ASP.NET [twoja_wersja] w sekcji Web Server (IIS)-> Web Server->Application Development

Aby zainstalować rolę ASP.NET w kliencie Windows:

  1. Otwórz Włącz lub wyłącz funkcje systemu Windows
  2. Sprawdź pozycję ASP.NET [twoja_wersja] w sekcji Internet Information Services-> World Wide Web Services->Application Development Features
tłuc
źródło
Dzięki, cieszę się, że to znalazłem. Po zainstalowaniu usług roli musiałem włączyć ASP.NET v4.0.30319 w funkcji ograniczeń ISAPI i CGI.
cdonner
0

Cóż, mówi ci, co jest nie tak. system.webServer/HandlersRozdział został zamknięty gdzieś indziej, co oznacza, że nie można zastąpić go w web.configpliku na obecnym poziomie (prawdopodobnie stronie internetowej).

Usuń:

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

z twojego web.configpliku

Lub dowiedz się, gdzie został zablokowany i zmień go.
Prawdopodobnie jest zablokowany w applicationHost.configpliku. Można go znaleźć tutaj: %windir%\system32\inetsrv\config\. Otwórz go za pomocą edytora tekstu i poszukaj linii podobnej do

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

Zmień overrideModeDefaultatrybut na Zezwalaj


Możesz także użyć appcmd.exedo odblokowania sekcji dla określonej witryny lub aplikacji, na przykład:

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

Gdzie „WebSiteName” to nazwa strony internetowej, a „/ app” to ścieżka do Twojej aplikacji. Aby odblokować dla całej witryny:

appcmd.exe unlock config "WebSiteName" -section:system.webServer/Handlers
Mathias R. Jessen
źródło
Dostaję to samo, gdy używam appcmd.exe C: \ Windows \ System32 \ inetsrv> appcmd.exe odblokuj config "test.cosplay.dk/app" -sect ion: system.webServer / Handlers ERROR (komunikat: Błąd konfiguracji Nazwa pliku: \\? \ C: \ Server \ Kasper \ Web \ test.cosplay.dk \ web.config Numer linii: 71 Opis: Ta sekcja konfiguracji nie może być używana na tej ścieżce. Dzieje się tak, gdy sekcja jest zablokowana na poziom nadrzędny. Blokowanie jest albo domyślnie (ov errideModeDefault = „Deny”), albo jawnie ustawione przez tag lokalizacji z overrideMode = „Deny” lub starsze allowOverride = „false”.)
Androme
Ale to jest całkowicie nowy zainstalowany serwer, i jest to pierwsza strona internetowa, na której się na nim opiera, w jaki sposób coś innego może zablokować handlowców?
Androme
Następnie usuń Handlerssekcję. Może być domyślnie zablokowany. Czy migrowałeś witrynę z Win2008?
Mathias R. Jessen
Tak, Win2008R2, jeśli usunę handlerów i moduły, mvc nie będzie działać! dostałem to akceptuje
programy