ASP.NET MVC、Web API:在多个部署中工作

ASP.NET MVC、Web API:在多个部署中工作,asp.net,asp.net-mvc,asp.net-web-api,Asp.net,Asp.net Mvc,Asp.net Web Api,我们是一个开发团队,致力于基于Web(ASP.NET、MVC、Web API、Angular)的项目。直到最近,它还是纯ASP.NET、MVC。现在我们想把这个项目分成几个部分 服务器端 MVC(5.2)用于表单输入(可能在将来开始) 客户端业务逻辑的角度 向(1)和(2)公开服务器端逻辑的Web API 目前,我们部署(1)+(2)+(3)作为IIS网站,一切正常。添加(4)会产生一点问题——我不清楚所有的利弊。我们将需要从(3)到(4)和从(2)到(4)的调用,以使转换顺利进行,并且我们需要

我们是一个开发团队,致力于基于Web(ASP.NET、MVC、Web API、Angular)的项目。直到最近,它还是纯ASP.NET、MVC。现在我们想把这个项目分成几个部分

  • 服务器端
  • MVC(5.2)用于表单输入(可能在将来开始)
  • 客户端业务逻辑的角度
  • 向(1)和(2)公开服务器端逻辑的Web API
  • 目前,我们部署(1)+(2)+(3)作为IIS网站,一切正常。添加(4)会产生一点问题——我不清楚所有的利弊。我们将需要从(3)到(4)和从(2)到(4)的调用,以使转换顺利进行,并且我们需要根据IT部门的要求为(4)保留身份验证(基于Windows)

    • 将Web API部署为IIS中的单个应用程序。不同的开发人员如何在不同的机器上使用不同的配置来处理(2)和(4)(例如:Dev1有(1)和(2):localhost:54345和(4)localhost:61975,Dev2有(1)和(2):localhost:21212和(4)localhost:33124,QA实例:(1)和(2):QA-box/qaap1,(4)QA-box/qaap1;生产,等等)——如何跟踪对(1)和(2)的调用(4) 在不同的实例中有不同的基本URL吗
    • 在(2)中创建一个“代理控制器”,它将代理对(4)的调用,如下所示:。但是,不清楚如何通过用户的身份验证
    • 只需通过one.sln中的项目依赖关系将(4)合并到(2)中,并仅部署一个应用程序(如果我们可能需要将(4)扩展到其他服务器等,则不是首选解决方案)
    对于在不同的部署中分离Web API和“可行”的方法,您有什么更好的建议


    谢谢!

    您拆分是因为要部署到不同的服务器?还是因为希望项目整洁干净,一台服务器就足够了?为什么2和3都有?似乎都提供UI并与相同的服务器端业务逻辑对话。@Alexander,首先,只需“整洁干净”@Andrei:一般来说,由于历史原因,我们计划迁移到(3)+(4),但这是一个相当长的时间问题。在您的web ui项目中引用web api项目。部署web ui项目并惊叹它如何响应api调用。当另一台服务器出现时,撤消。