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”.
<?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>
Odpowiedzi:
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:
Web Server (IIS)
->Web Server
->Application Development
Aby zainstalować rolę ASP.NET w kliencie Windows:
Internet Information Services
->World Wide Web Services
->Application Development Features
źródło
Cóż, mówi ci, co jest nie tak.
system.webServer/Handlers
Rozdział został zamknięty gdzieś indziej, co oznacza, że nie można zastąpić go wweb.config
pliku na obecnym poziomie (prawdopodobnie stronie internetowej).Usuń:
z twojego
web.config
plikuLub dowiedz się, gdzie został zablokowany i zmień go.
Prawdopodobnie jest zablokowany w
applicationHost.config
pliku. Można go znaleźć tutaj:%windir%\system32\inetsrv\config\
. Otwórz go za pomocą edytora tekstu i poszukaj linii podobnej doZmień
overrideModeDefault
atrybut na ZezwalajMożesz także użyć
appcmd.exe
do odblokowania sekcji dla określonej witryny lub aplikacji, na przykład:Gdzie „WebSiteName” to nazwa strony internetowej, a „/ app” to ścieżka do Twojej aplikacji. Aby odblokować dla całej witryny:
źródło
Handlers
sekcję. Może być domyślnie zablokowany. Czy migrowałeś witrynę z Win2008?