Azure:将同一域中的单独web API项目发布到另一个web应用程序

Azure:将同一域中的单独web API项目发布到另一个web应用程序,azure,Azure,例如,当我有一个ASP.NET web应用程序,其中包含一些具有路由的API控制器时,我可以将该应用程序发布到Azure web应用程序,并通过访问someproject.azurewebsites.NET/API/controller来使用该API 但是,当我从web应用程序项目中分离web API部件时,我必须将web API项目发布到新域,如someapiproject.azurewebsites.net。我想将webapi项目集成到web应用程序中,就像我对一个组合项目所做的那样 这可能

例如,当我有一个ASP.NET web应用程序,其中包含一些具有路由的API控制器时,我可以将该应用程序发布到Azure web应用程序,并通过访问
someproject.azurewebsites.NET/API/controller
来使用该API

但是,当我从web应用程序项目中分离web API部件时,我必须将web API项目发布到新域,如
someapiproject.azurewebsites.net
。我想将webapi项目集成到web应用程序中,就像我对一个组合项目所做的那样


这可能吗?

如果您想要组合多个API,您应该看看。 我怀疑您能否将多个API发布到一个Web API中,因为这两个API都需要在配置主机的情况下启动


清理代码的方法是将控制器外包到不同的程序集中,并在中间件中配置它们。这就是一个例子

马丁·布兰德尔的回答恰到好处。但是,如果你想走穷人的路,你可以从ASP.NET Web应用程序创建反向代理,并将应用程序流量从someproject.azurewebsites.NET/apiV2映射到someapiproject.azurewebsites.NET。这不是HTTP 30x重定向-对于点击/apiV2的用户,URL不会更改。我个人使用这种方法是因为Azure API管理服务可能会有点贵。如果你不需要像节流这样性感的功能,这是一个很好的方法

在Startup.cs中出现问题是有道理的。您能给我一些关于使用中间件处理API外包类库的示例或教程吗?当然,我添加了一个链接。