IIS 8 asp.net mvc HTTP Hatası 500.19


15

Merhaba ben sadece asp.net mvc çerçeve için sunucu taşındı. ama şimdi aşağıdaki hata mesajını alıyorum ve dürüst olmak gerekirse, şimdi neyin yanlış olduğunu biliyorum?

Modül IIS Web Çekirdeği

Bildirim BeginRequest

İşleyici Henüz belirlenmedi

Hata Kodu 0x80070021

Yapılandırma Hatası Bu yapılandırma bölümü bu yolda kullanılamaz. Bu, bölüm üst düzeyde kilitlendiğinde olur. Kilitleme varsayılan olarak (overrideModeDefault = "Deny") veya açıkça overrideMode = "Deny" veya eski allowOverride = "false" olan bir konum etiketi ile ayarlanır.

resim açıklamasını buraya girin

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

Bunu hiç çözdün mü? Aynı sorunu yaşıyorum
rik.vanmechelen

Yanıtlar:


36

Yepyeni bir sunucuda da aynı hatayı aldık.

Nedeni, diğer yanıtınapplicationHost.config önerdiği şekilde depolanan varsayılan IIS güvenlik ilkesi değildi (bunu işaretlemiş olsak da). Bunun nedeni, ASP.NET (ASP.NET 4.5 rolü) desteği olmadan IIS'yi yüklememizdi!

ASP.NET için eksik desteği yüklediğimizde, uygulamamız yapılandırmada hiçbir değişiklik yapmadan başladı.

Sonuç:

Bu hatayı alırsanız IIS ile birlikte ASP.NET rolünün yüklü olup olmadığını bir kez daha denetleyin.


ASP.NET rolünü Windows Server'a yüklemek için:

  1. Rol ve özellik ekleme sihirbazını açma
  2. Web Server (IIS)-> Web Server-> altındaki ASP.NET [your_version] girişini kontrol edinApplication Development

ASP.NET rolünü bir Windows istemcisine yüklemek için:

  1. Windows özelliklerini açma veya kapatma sihirbazını açma
  2. Internet Information Services-> World Wide Web Services-> altındaki ASP.NET [your_version] girişini kontrol edinApplication Development Features

Teşekkürler, buldum sevindim. Rol hizmetlerini yükledikten sonra, ISAPI ve CGI kısıtlamaları özelliğinde ASP.NET v4.0.30319'u açmak zorunda kaldım.
cdonner

0

Neyin yanlış olduğunu söyler. system.webServer/HandlersBölüm içinde geçersiz kılamaz, yani başka bir yerde kilitlendi web.configmevcut düzeyi (muhtemelen web sitesi) de dosyada.

Aşağıdakilerden birini kaldırın:

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

senin dan web.configdosyası

Veya nerede kilitlendiğini öğrenin ve değiştirin.
Muhtemelen applicationHost.configdosyada kilitlidir . Burada bulunabilir: %windir%\system32\inetsrv\config\. Bir metin düzenleyicisiyle açın ve benzer bir satır arayın

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

overrideModeDefaultÖzelliği İzin Ver olarak değiştirin


Alternatif olarak, aşağıdaki appcmd.exegibi belirli bir site veya uygulamanın bölümünün kilidini açmak için kullanabilirsiniz :

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

Burada "WebSiteName" web sitesinin adı ve "/ app" uygulamanızın yoludur. Tüm web sitesi için kilidini açmak için:

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

Ben appcmd.exe C: \ Windows \ System32 \ inetsrv> appcmd.exe kilidini yapılandırma "test.cosplay.dk/app" -bölüm iyonu kullandığımda aynı heeor alıyorum: system.webServer / Handlers ERROR (mesaj: Yapılandırma hatası Dosyaadı: \\? \ C: \ Sunucu \ Kasper \ Web \ test.cosplay.dk \ web.config Satır Numarası: 71 Açıklama: Bu yapılandırma bölümü bu yolda kullanılamaz. Kilitleme varsayılan olarak (ov errideModeDefault = "Reddet") ya da overrideMode = "Deny" veya eski allowOverride = "false" olan bir konum etiketi tarafından açıkça ayarlanır.)
12'de Androme

Ama bu tamamen yeni bir kurulu sunucu ve bu ona bağlı ilk web sitesi, başka bir şey handelers nasıl kilitleyebilir?
Androme

Ardından Handlersbölümü kaldırın . Varsayılan olarak kilitli olabilir. Siteyi Win2008 kutusundan taşıdınız mı?
Mathias R. Jessen

Evet Win2008R2, eğer handelers ve modülleri kaldırırsanız mvc çalışmaz! i komut ile işleyicileri kabul var, ama modülleri takip etmeyecektir :(
Androme
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.