如何在 Asp 核心中部署两个项目(Razor 和 Api)

时间:2021-03-02 08:33:02

标签: asp.net-core asp.net-web-api deployment

最初我使用 Asp 核心 3.1 制作了一个 Web 应用程序(Razor Page Application),它可以工作并已发布到我的主机上。

客户想要一个移动应用程序,所以我决定构建 API。我知道我可以在同一个项目中创建 API 或为此创建新的单独项目(解决方案),但最佳实践是什么?

我看到很多开发者在解决方案中做了不止一个项目(模型项目、存储库项目和主项目), 所以我创建了一个新的 API 项目

new API project added to my solution

但是现在我不知道如何部署和发布我的第二个项目 我尝试发布它,然后将其放在单独的子域中,但出现错误:HTTP 错误 500.0 - ASP.NET Core IIS 托管失败(进程内)// 似乎不是网络配置问题

我的问题是关于最佳实践的。谢谢

1 个答案:

答案 0 :(得分:1)

您可以尝试将您的 ASP.NET Core API 应用作为 IIS 子应用(子应用)托管在您用来托管 Razor Page 应用的同一站点上。

https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/iis/advanced?view=aspnetcore-5.0#sub-applications

并且请注意,在使用进程内托管模型时,我们需要为子应用创建并指定一个单独应用池,否则站点将无法运行良好。