具有相同端点的多个Web API

时间:2018-08-31 19:02:54

标签: azure asp.net-web-api

在我们的解决方案中,我们创建了多个Web api项目,这些项目分别托管在azure Web应用程序上,因此每个web api项目都有不同的URL,例如以下

https://www xyz .azurewebsite.net / api / employee / getemployee https://www abc .azurewebsite.net / api / department / getdepartment

这里员工是一个Web api项目,部门是第二个。

所以我的问题是我们如何在Azure上的相同webapp /域下托管这些Web api。

enter image description here 因为发生了什么,所以我仅使用Web api方法添加了空白api项目。我已经设置为启动项目。并且在推送代码时,它已覆盖其他api项目配置文件,此后其他api停止工作。

感谢您的帮助!

2 个答案:

答案 0 :(得分:1)

如果您的应用程序需要显示给定部门的所有员工怎么办?如何使用给定的设置解决该问题?您将如何确保整个部门和员工商店的参照完整性?我正在设计的是我想称为的 nano 服务,这些服务必将对应用程序的性能和可伸缩性产生严重影响。当您的领域高度相关并且没有逻辑和明显的界限时,根据我的经验,仇恨会崩溃。考虑到我在您的代码中看到的内容,如果使用一个带有Employee和Department控制器的Web Api项目,您会更好。当您需要彼此独立地扩展服务时,或者如果可以推断出自然界的上下文时,请考虑使用微服务。

答案 1 :(得分:0)

可以通过设置多个虚拟应用程序在同一个Azure Web App上托管两个或多个项目。为此:

  1. 登录到Azure门户并导航到Web应用程序刀片。
  2. 单击Web应用程序上的“应用程序设置”菜单选项。
  3. 滚动到底部,然后定义一个新的应用程序。 “ /”已经指向您的/ wwwroot目录。您可以定义虚拟路径“ / employee”,将物理路径设置为“ / employee”,并将“类型”设置为“ Application”。

发布Employee Web应用程序时,需要确保将虚拟路径附加到“发布->连接”选项卡下的“网站名称”和“目标网址”。

注意:由于这些是独立的虚拟应用程序,因此它们不会共享状态。