IIS 10 和 Visual Studio 2017 中的 HTTP 错误 500.19

Posted

技术标签:

【中文标题】IIS 10 和 Visual Studio 2017 中的 HTTP 错误 500.19【英文标题】:HTTP Error 500.19 in IIS 10 and Visual Studio 2017 【发布时间】:2018-01-07 00:32:31 【问题描述】:

我知道有人问过类似的问题,但他们的回答并没有解决我的问题。

HTTP 错误 500.19 - 内部服务器错误

请求的页面不能 被访问,因为该页面的相关配置数据是 无效。 详细错误信息:模块 IIS Web 核心通知 BeginRequest 处理程序尚未确定错误代码 0x80070021 配置错误 此配置部分不能在此使用 小路。当该部分锁定在父级别时会发生这种情况。 默认情况下锁定 (overrideModeDefault="Deny"),或设置 通过带有 overrideMode="Deny" 的位置标记或旧版显式 允许覆盖=“假”。

配置文件\?\C:\mySite\web.config

请求的 URL http://localhost:80/mySite/login

物理路径 C:\mySite\login

登录方式暂未确定

登录用户尚未确定

配置来源:

65:</staticContent>

66:<handlers>

67:

<add name="ReportViewerWebControlHandler"
    > preCondition="integratedMode" verb="*"
    > path="Reserved.ReportViewerWebControl.axd"
    > type="Microsoft.Reporting.WebForms.HttpHandler,
    > Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral,
    > PublicKeyToken=b03f5f7f11d50a3a" />

我还检查了 Windows 功能,它们看起来还不错。

我尝试将 overrideModelDefault 设置为 Allow 并从 applicationhost.congif 中删除 WebServiceHandlerFactory 但没有结果。

我正在使用 Visual Studio 2017 和 IIS 10。

还有其他解决办法吗?

【问题讨论】:

ReportViewerWebControlHandler 需要在 machine.config 中设置 overrideModelDefault 我没有 machine.config 文件 您将在文件夹 C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config 中找到它。此路径中的 Framework64 文件夹可能会根据应用程序池配置而更改,即 32 位或 64 位 我找到了你说的文件,但我没有找到你说要修改的内容:pastebin.com/pVcqSyLS 【参考方案1】:
    按Win键+R打开运行窗口 在运行窗口中,输入“OptionalFeatures.exe” 在功能窗口中,单击:“Internet 信息服务” 点击:“万维网服务” 点击:“应用程序开发功能” 检查功能。

我使用的是 Windows 10

注意:“您必须以管理员身份登录 能够打开或关闭 Windows 功能。”如果 Windows 功能是 为空或空白,然后仔细检查以确保 Windows 模块安装程序服务已启用并设置为自动。

更新:

确保已安装.NET Core Windows Server Hosting bundle

其他可能的解决方案:

解决方案一:

从提升的命令提示符运行这两个命令

%windir%/system32/inetsrv/appcmd unlock config /section:anonymousAuthentication

%windir%/system32/inetsrv/appcmd unlock config -section:windowsAuthentication

解决方案 2:使用 PowerShell

Install-WindowsFeature NET-Framework-Core
Install-WindowsFeature Web-Server -IncludeAllSubFeature
Install-WindowsFeature NET-Framework-Features -IncludeAllSubFeature
Install-WindowsFeature NET-Framework-47-ASPNET -IncludeAllSubFeature
Install-WindowsFeature Application-Server -IncludeAllSubFeature
Install-WindowsFeature MSMQ -IncludeAllSubFeature
Install-WindowsFeature WAS -IncludeAllSubFeature

解决方案 3:删除 web.config 中的 &lt;rewrite&gt; 标签

<system.webServer>
    ...
    <rewrite>
    ...
    </rewrite>
</system.webServer>

【讨论】:

对 NET Core 最重要:Windows Server Hosting bundle dotnet.microsoft.com/download/dotnet-core/3.1【参考方案2】:

对我来说,问题在于web.config 中的重定向规则。

通过删除web.config中的整个&lt;rewrite&gt;-tag解决:

<system.webServer>
...
...
<rewrite>
      <rules>
        <rule name="http to https" enabled="true" stopProcessing="true">
          <match url="(.*)"/>
          <conditions>
            <add input="HTTPS" pattern="^OFF$"/>
          </conditions>
          <action type="Redirect" url="https://HTTP_HOST/R:1" redirectType="Permanent" appendQueryString="true"/>
        </rule>
      </rules>
    </rewrite>
 </system.webServer>

【讨论】:

如果您需要保持应用程序正常工作的重写规则,请将模块安装到本地 IIS。 iis.net/downloads/microsoft/url-rewrite【参考方案3】:

web.config 文件没有问题。

安装windows后,
默认情况下,IIS 不知道如何支持 .NET Core 2.0 网站(或 Core 1.0)

您必须在主机系统上安装.NET Core Windows Server Hosting bundle。

【讨论】:

【参考方案4】:

就我而言(VS 2019),我只是更改了项目属性/Web/项目 URL 中的端口

然后我按下了“创建虚拟目录”按钮

之前 http://localhost:40430/XX

之后 http://localhost:1438/XX

【讨论】:

【参考方案5】:

在从 VisualStudio 启动 IIS Express 中的 ASP.NET 项目调试时,我突然开始遇到此错误。在(重新)检查文件 .vs\config\applicationhost.config 时,我注意到以下可疑行:

<virtualDirectory path="/" physicalPath="C:\Users\me\OneDrive\Documents\My Web Sites\project.Web-Site2" />

我永远不会有意识地将 OneDrive 用于与开发相关的任何事情。但我们的 IT 正在整个组织范围内采用 OneDrive。所以他们可能更改了我的配置文件的一些设置,导致 VisualStudio 使用该路径更新 IIS Express 配置。并且那里不存在“我的网站”目录。因此,在我将行更新如下:

<virtualDirectory path="/" physicalPath="C:\inetpub\www" />

并创建了空目录 C:\inetpub\www,一切又开始工作了。

希望这个故事可以为某人节省一些浪费的故障排除时间。

【讨论】:

【参考方案6】:

我遇到了这个问题。对我来说,将连接字符串放在包含 entityframework 部分的 configSections 之后,解决了这个问题。

【讨论】:

【参考方案7】:

在安装 .NET Core Hosting Bundle 后尝试运行常规 asp.net 应用程序时,我遇到了类似的错误消息 -> https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/aspnet-core-module?view=aspnetcore-2.2

将我的 C:\Windows\System32\inetsrv\Config\applicationHost.config 与同事的版本进行比较,我们发现缺少一些 sectionGroup 的:

【讨论】:

【参考方案8】:

我使用了错误的框架。我在项目属性中选择了 .NET 3.5。将其更改为 .NET 4 后,问题就消失了。 .NET 4 是我的 IIS 10 版本中唯一可以选择的框架。

【讨论】:

【参考方案9】:

这可能是Web.config 文件共享问题。 检查wwwroot 文件夹是否共享,并检查 包含发布/构建的文件夹。

【讨论】:

以上是关于IIS 10 和 Visual Studio 2017 中的 HTTP 错误 500.19的主要内容,如果未能解决你的问题,请参考以下文章

Visual Studio 和 IIS Express 随机停止工作

Visual Studio IDE 和 IIS 之间的 CSS 问题

win10 visual studio IIS Express 局域网调试,默认只能localhost

visual studio2012发布项目到iis

visual studio 2013 怎么发布网站到服务器的iis?求具体操作步骤

关于visual studio网站发布及IIS的问题~急急急!!!