我们是一个小型开发团队,继承了几年前用ASP.NET 4启动的一个规模可观的ASP.NET MVC项目。我们希望在某个时候迁移到ASP.NET 5。目前,该解决方案有3个项目-数据、服务和Web。数据项目使用实体框架。Web项目以前只是MVC,但现在有一个Web API,我们有几百个RESTful API调用和一个AngularJS前端。
看起来ASP.NET 5的web应用程序默认解决方案使用了一个新的结构,其中web项目包含wwwroot和其他内容。您是否建议拥有多个项目,或者我们应该将数据和服务保留在主项目中?我倾向于单一项目的方法,但我不确定什么是最好的长期结构。谢谢!
假设您决定将另一个应用程序添加到您的解决方案中。它可能是Xamarin Forms应用程序、WPF应用程序、控制台应用程序、Windows服务,等等。如果模型和数据层都在各自的类库中,则可以重用它们,而无需重复代码。如果您将模型和数据层放在Web API项目中,您将无法在新应用程序中轻松重用它。
唯一一件我不一定(我认为我仍然可以)结合的是Web API应用程序和Angular应用程序。这两个可能是如此复杂,所以把它们放在一个项目中是有意义的。