我该如何在IIS上托管一个.NET Core应用程序?

3

该应用程序在Visual Studio上使用IIS Express配置文件启动,但我无法使其在本地IIS服务器上运行。

当我尝试在本地IIS服务器上托管应用程序时,我无法使其正常工作。 在此过程中,我遇到了一些问题,例如错误500.19和错误401。 现在,我显示的是目录列表而不是网站。

请注意 - 我是Web编程新手,这是我第一次尝试使用IIS服务器进行托管。 由于网站在VS IIS Express上运行良好,我猜测我使用的一些IIS设置可能不正确。


我猜测,我正在使用的一些IIS设置可能不正确。然后请将此信息添加到您的问题中。 - burnsi
在将应用程序部署到IIS服务器之前,需要进行一些配置。共享您的配置文件可以帮助我们诊断主要问题。 - Talkhak1313
我应该分享哪些配置文件?在哪里可以找到它们? - Shilpa
现在,我显示的是目录列表而不是网站,看起来非常糟糕,你已经走得太远了。请将所有更改回滚到最初状态,并运行报告以查看可能出错的地方,https://docs.jexusmanager.com/tutorials/ancm-diagnostics.html。 - Lex Li
@Shilpa,您可以参考这篇文章https://windowswebhostingreview.com/simple-way-to-host-your-asp-net-core-in-iis/。如果您已经安装了.NET Core托管捆绑包,那么您可以按照该教程进行操作。 - Mark Spencer
显示剩余3条评论
1个回答

2
应用程序在Visual Studio中使用IIS Express配置文件启动,但我无法在本地IIS服务器上运行它。
首先,请检查您的控制面板是否已启用以下功能:

enter image description here

注意:由于您是新手,我建议您在Internet信息服务中启用所有选项,以避免进一步的问题,因为如果您错过了任何东西,那将会导致其他难以解决的麻烦。

检查您托管机器上的asp.net核心运行时。

dotnet --list-sdks

enter image description here

安装托管的先决条件文件

dotnet-hosting-7.0.3-win

注意:如果您没有请从这里下载。

检查模块是否已正确安装:

enter image description here

你应该有以下模块:

enter image description here

通过右键添加新站点:

enter image description here

enter image description here

注意:确保您有访问路径的权限,并且输入的端口未被使用或没有其他应用程序在使用。

配置应用程序池:

enter image description here

enter image description here

注意:对于asp.net core应用程序,请从下拉菜单中选择“无托管代码”。

运行应用程序:

enter image description here

输出:

enter image description here

注意:如果你想了解如何将ASP.NET Core应用程序发布到IIS的更多详细信息,你可以在这里查看我们的官方文档。


感谢提供详细步骤。按照上述步骤后,我现在遇到了HTTP错误500.30。我尝试了以下方法:使用dotnet命令从命令提示符中运行应用程序。它可以正常运行。事件记录器显示以下错误:System.InvalidOperationException: Negotiate身份验证处理程序不能在直接支持Windows身份验证的服务器上使用。为服务器启用Windows身份验证,Negotiate身份验证处理程序将推迟到它。 - Shilpa
我在IIS服务器上启用了Windows身份验证和匿名身份验证。现在该网站无法访问。不确定发生了什么事情。此次事件日志记录器中没有日志。 - Shilpa
删除您之前的所有配置,然后按照我展示的步骤进行操作,不要在开始时进行任何其他更改。一旦它按预期工作,然后开始自定义。正如我之前所说,如果有任何额外的设置出现问题,那么修复起来会更加困难。此外,请使用80以外的端口。例如,您可以使用8001端口。 - Md Farid Uddin Kiron
适用于ASP.NET Core MVC和WebAPI。谢谢! - undefined
很高兴知道它对你有帮助。 - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接