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

Asp.net core 如何在Asp核心中部署两个项目(Razor和Api),asp.net-core,asp.net-web-api,deployment,Asp.net Core,Asp.net Web Api,Deployment,最初,我用Asp core 3.1制作了一个web应用程序(Razor页面应用程序),并将其发布到我的主机上 客户端需要一个移动应用程序,所以我决定构建API。我知道我可以在同一个项目中创建API,或者为此创建新的单独项目(解决方案),但最佳实践是什么 我看到很多开发人员在解决方案中制作了不止一个项目(模型项目、存储库项目和主项目), 所以我创建了一个新的API项目 但现在我不知道如何部署和发布我的第二个项目 我试图发布它,然后将它放在单独的子域中,但我得到了错误:HTTP错误500.0-AS

最初,我用Asp core 3.1制作了一个web应用程序(Razor页面应用程序),并将其发布到我的主机上

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

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

但现在我不知道如何部署和发布我的第二个项目 我试图发布它,然后将它放在单独的子域中,但我得到了错误:HTTP错误500.0-ASP.NET核心IIS托管失败(正在进行)//这似乎不是web配置问题


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

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


请注意,在使用进程内托管模型时,我们需要为子应用程序创建并指定一个单独的应用程序池,否则该站点将无法正常工作。

Hi@Khorshid,关于此案例的任何更新?谢谢,它是以这种方式工作的,请将API项目放入IIS子应用程序(或子域)中它会起作用的。嗨@Khorshid,如果回复确实有助于解决问题,请接受它-参见