IIS 8 asp.net mvc Lỗi HTTP 500.19


15

Xin chào tôi vừa chuyển máy chủ, cho khung mvc asp.net của tôi. Nhưng bây giờ tôi nhận được thông báo lỗi sau, và thành thật mà nói bây giờ tôi biết điều gì là sai?

Mô-đun IIS Web Core

Thông báo BeginRequest

Xử lý chưa được xác định

Mã lỗi 0x80070021

Lỗi cấu hình Phần cấu hình này không thể được sử dụng tại đường dẫn này. Điều này xảy ra khi phần bị khóa ở cấp độ cha. Việc khóa là theo mặc định (overrideModeDefault = "Deny") hoặc được đặt rõ ràng bằng thẻ vị trí với overrideMode = "Deny" hoặc legacy allowOverride = "false".

nhập mô tả hình ảnh ở đây

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

Bạn đã bao giờ giải quyết điều này? Tôi đang gặp vấn đề tương tự
rik.vanmechelen

Câu trả lời:


36

Chúng tôi đã có cùng một lỗi trên một máy chủ hoàn toàn mới.

Lý do không phải là chính sách bảo mật IIS mặc định, được lưu trữ applicationHost.config, như được đề xuất bởi câu trả lời khác (mặc dù chúng tôi đã kiểm tra điều đó). Lý do là chúng tôi đã cài đặt IIS mà không hỗ trợ ASP.NET (vai trò ASP.NET 4.5)!

Khi chúng tôi cài đặt hỗ trợ còn thiếu cho ASP.NET, ứng dụng của chúng tôi chỉ bắt đầu mà không có thay đổi nào về cấu hình.

Phần kết luận:

Kiểm tra kỹ xem bạn có cài đặt vai trò ASP.NET cùng với IIS không nếu bạn gặp lỗi này.


Để cài đặt vai trò ASP.NET trong Windows Server:

  1. Mở trình hướng dẫn thêm vai trò và tính năng
  2. Kiểm tra mục ASP.NET [your_version] bên dưới Web Server (IIS)-> Web Server->Application Development

Để cài đặt vai trò ASP.NET trong máy khách Windows:

  1. Mở bật hoặc tắt các tính năng của Windows
  2. Kiểm tra mục ASP.NET [your_version] bên dưới Internet Information Services-> World Wide Web Services->Application Development Features

Cảm ơn, rất vui vì tôi đã tìm thấy điều này. Sau khi cài đặt các dịch vụ Vai trò, tôi phải bật ASP.NET v4.0.30319 trong tính năng hạn chế ISAPI và CGI.
cdonner

0

Vâng, nó cho bạn biết những gì là sai. Phần system.webServer/Handlersnày đã bị khóa ở một nơi khác, có nghĩa là bạn không thể ghi đè lên nó trong web.configtệp ở cấp độ hiện tại (có thể là trang web).

Xóa bỏ:

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

từ web.configtập tin của bạn

Hoặc tìm ra nơi nó đã bị khóa và thay đổi nó.
Nó có thể bị khóa trong applicationHost.configtập tin. Nó có thể được tìm thấy ở đây : %windir%\system32\inetsrv\config\. Mở nó bằng một trình soạn thảo văn bản và tìm kiếm một dòng như

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

Thay đổi overrideModeDefaultthuộc tính thành Cho phép


Ngoài ra, bạn có thể sử dụng appcmd.exeđể mở khóa phần cho một trang web hoặc ứng dụng cụ thể, như thế này:

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

Trong đó "WebSiteName" là tên của trang web và "/ app" là đường dẫn đến ứng dụng của bạn. Để mở khóa cho toàn bộ trang web:

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

Tôi nhận được cùng một heeor khi tôi sử dụng appcmd.exe C: \ Windows \ System32 \ inetsrv> appcmd.exe mở khóa cấu hình "test.cosplay.dk/app" -sect ion: system.webServer / Handlers ERROR (thông báo: Lỗi cấu hình Tên tệp: \\? \ C: \ Server \ Kasper \ Web \ test.cosplay.dk \ web.config Số dòng: 71 Mô tả: Phần cấu hình này không thể được sử dụng tại đường dẫn này. Điều này xảy ra khi phần bị khóa tại Mức cha mẹ. Khóa là theo mặc định (ov errideModeDefault = "Deny") hoặc được đặt rõ ràng bằng thẻ vị trí với overrideMode = "Deny" hoặc legacy allowOverride = "false" ..)
Androm

Nhưng đây là một máy chủ được cài đặt hoàn toàn mới, và đây là trang web đầu tiên được đặt trên đó, làm thế nào một cái gì đó khác có thể khóa các trình xử lý?
Androm

Sau đó loại bỏ Handlersphần. Nó có thể bị khóa theo mặc định. Bạn đã di chuyển trang web từ hộp Win2008?
Mathias R. Jessen

Có Win2008R2, nếu tôi gỡ bỏ bộ xử lý và mô-đun sẽ mvc không hoạt động! Tôi đã nhận được nó chấp nhận các trình xử lý với lệnh, nhưng các mô-đun sẽ không tuân theo :(
Androm
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.