返回

.NET网站报错HTTP 错误 500.21 - Internal Server Error解决方法

2024-12-08 .NET Internal Server Error 119 0

HTTP 错误 500.21 - Internal Server Error 是 .NET 网站在部署到 IIS 服务器时的一个常见错误,通常是由于 ASP.NET 未正确注册到 IIS 中所致。以下是解决方法的详细步骤:

1. 确认错误原因

该错误通常会附加以下信息:

"Handler 'PageHandlerFactory-Integrated' has a bad module 'ManagedPipelineHandler' in its module list."

表示 .NET Framework 相关组件未在 IIS 中正确注册。

2. 检查 IIS 配置

确保 IIS 已启用相关功能:

打开 控制面板 > 程序和功能。

点击左侧的 启用或关闭 Windows 功能。

展开 Internet 信息服务 (IIS) > 万维网服务 > 应用程序开发功能。

勾选以下选项:

  • ASP.NET(根据项目需求选择 ASP.NET 4.8 或 ASP.NET 3.5)
  • .NET 扩展性
  • ISAPI 扩展
  • ISAPI 筛选器

点击 确定。

3. 重新注册 ASP.NET 到 IIS

在管理员模式下运行命令提示符 (CMD) 并执行以下命令:

针对 .NET Framework 4.x

%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i

针对 .NET Framework 3.5

%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -i

注意:

如果使用的是 64 位系统,请将 Framework 替换为 Framework64。

上述命令会重新注册 ASP.NET 并更新 IIS 配置。

4. 检查应用程序池设置

确保应用程序池的配置正确:

打开 IIS 管理器。

选择目标站点所在的 应用程序池。

确保:

托管管道模式 设置为 集成。

.NET CLR 版本 设置为目标网站使用的 .NET 版本(如 .NET CLR 版本 v4.0 或 v2.0)。

5. 检查 Web.config 配置

确认 Web.config 中没有冲突的模块配置:

找到以下节点:

<system.webServer>
    <handlers>
        <!-- 确保此处没有冗余或错误的模块配置 -->
    </handlers>
</system.webServer>

如果项目是 ASP.NET Core,请确保已安装 ASP.NET Core 托管包。

6. 安装 .NET Core 或 .NET Hosting Bundle(如适用)

对于 ASP.NET Core 网站:

下载并安装 ASP.NET Core Hosting Bundle,可从 Microsoft 官方下载页面 获取。

安装后运行以下命令更新 IIS:

iisreset

7. 重启 IIS

最后,重启 IIS 并测试站点:

iisreset

通过以上步骤,HTTP 错误 500.21 应该能顺利解决。如果问题仍然存在,请检查系统日志或 IIS 日志获取更多信息(日志通常位于 %SystemDrive%\inetpub\logs\LogFiles)。

您可能感兴趣:

阿里云 云服务器 99元1年 2核2G 3M固定带宽 续费与新购同价

领取 通义灵码 免费使用资格 兼容 Visual Studio Code、Visual Studio、JetBrains IDEs 等主流编程工具, 为你提供高效、流畅、舒心的智能编码体验!

DOVE 网络加速器 梯子 免费 试用

顶部