如何使用 CLI 在 IIS 上托管 DotNet Core 6.0 WebAPI 项目?

发布于 2025-01-11 10:35:33 字数 495 浏览 0 评论 0 原文

我正在尝试使用 IIS 服务器在本地托管我的 webapi 项目。我正在使用 VS Code 使用 .NET 6.0 创建我的 webapi。

以下是我采取的步骤:

  1. 我运行了 dotnetpublish --configuration Release。这会在“bin\Release\net6.0”下创建文件。
  2. 我下载了 ASP.NET Core 6.0 运行时 (v6.0.2) - Windows 托管捆绑包。
  3. 接下来,我使用物理路径“bin\Release\net6.0”在 IIS 中创建了一个网站,并将端口设置为 8084。

现在,当我尝试浏览路径 localhost/8084/api/users 时,它会返回 500 Internal服务器错误。我缺少什么?

IIS 设置

I am trying to host my webapi project locally using IIS server. I am using VS Code to create my webapi using .NET 6.0.

Here are the steps I took:

  1. I ran dotnet publish --configuration Release. This created files under 'bin\Release\net6.0'.
  2. I downloaded the ASP.NET Core 6.0 Runtime (v6.0.2) - Windows Hosting Bundle.
  3. Next, I created a website in IIS using the Physical Path as 'bin\Release\net6.0' and set the port to 8084.

Now when I try to browse to the path, localhost/8084/api/users it returns 500 Internal Server Error. What am I missing?

Settings for IIS

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

帝王念 2025-01-18 10:35:34

感谢@gunr2171,我能够找到解决方案。

问题在于使用用户机密。使用用户机密时,IIS 无法找到 Secrets.json 文件。这导致 IIS 上的应用程序因空引用而失败(通过事件查看器发现这一点)。

我找到的解决方案是 - 出于开发目的,我们可以将 Secrets.json 文件复制粘贴到 IIS 用于托管的物理路径。这让我们可以继续通过 IIS 进行托管,不会出现任何问题。

I was able to find the solution go this, thanks to @gunr2171.

The issue was with using user-secrets. When using user-secrets, IIS is not able to find the secrets.json file. This caused the application at IIS to fail with null reference(Found this through Event Viewer).

A solution that I found to this is - for development purpose, we can copy paste the secrets.json file to the physical path being used by IIS to host. This lets us continue hosting through IIS without issues.

捎一片雪花 2025-01-18 10:35:33

您需要安装此 捆绑,然后重试:)。检查您的 .net core 版本

You need to install this bundle, then try again :). Check your .net core version

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文