WebApi项目和MVC项目在同一解决方案中是最佳实践吗?

时间:2018-08-13 17:32:03

标签: c# asp.net-web-api

我对这种情况非常困惑:在我的新工作中,同一解决方案中有一个ASP.NET MVC应用程序和一个WebApi应用程序,MVC'控制器使用了webApi控制器,并将JSON格式的数据发送到MVC '控制器。

该应用程序仅适用于互联网用户,我认为这是一项艰巨的工作,因此我向老板揭露了这一点,并说他对我大喊:“没有更多的想法,这是最好的工作方式”,现在我想知道:这是真的吗?为什么不只创建一个自托管的WebApi项目并创建HTML页面来显示数据?

那么,能否请您告诉我,在同一解决方案中是否有两个项目是最佳实践?我还是说不。

3 个答案:

答案 0 :(得分:0)

在一个解决方案中保留多个相关项目并不是一个坏主意,至少出于调试目的。只需确保它们在运行时不使用公共配置文件,或者如果确实将它们分开,则可以在需要时将解决方案分开。

答案 1 :(得分:0)

在编程过程中,没有准确的好主意,这总是取决于目标或目的,有很多原因说明为什么这种结构(安全性,代码分离等)是您的老板可以回答您,但如果他不想谈论,您就无法决定这是否是一个不好的实现,不仅是因为我说的原因,还因为该公司可以计划在企业中使用该结构未来

答案 2 :(得分:0)

在直接回答您的问题之前,我想先走一下弯路。这里的关键部分是这样:

  

我对这种情况非常困惑:在我的新工作中,同一解决方案中有一个ASP.NET MVC应用程序和一个WebApi应用程序,MVC的控制器消耗了webApi控制器,将JSON格式的数据发送到MVC的控制器。

无论何时加入新公司,我们都会及时查看架构。我们还没有看到软件为了了解为什么的构建方式而经历的旅程。如果您是新手,可能很难知道体系结构的发展方向。

也就是说,这里要注意一些事项:

  

在谈话时他对我大喊:“没有更多的想法了,这是最好的工作方式”

是否有新工作,这不是建立关系的有效方法。如果您所在的公司的文化不那么开放,那么人们就不会习惯于对软件制定方向的决策提出质疑/质疑。建立信任并赢得人们开始听您的尊重时,将需要您花费大量的精力和精力。并不是那样的-人们应该是开放的,并且很容易与诸如此类的事情进行交谈-但并非总是如此,因此在讨论您的想法时,请记住这一点。

考虑到以上几点,让我们回答您的问题:这种建筑风格是对还是错?问题是,这完全取决于架构所经历的历程以及其发展方式。我个人认为API应该分开吗?是! API应该具有可扩展性,而不必扩大/扩展作为应用程序其余部分的整体块,但是据我们所知,您的雇主可能会逐渐为此而努力。特别是,听起来好像他们可能正在尝试利用微服务架构,但是同样,对于我们来说,这是否适合他们,或者它是否被正确构建,是不可能的。