ASP.NET 5 的解决方案结构

Solution structure for ASP.NET 5

我们是一个小型开发团队,继承了一个体面的 ASP.NET MVC 项目,几年前开始使用 ASP.NET 4。我们希望迁移到 ASP.NET 5一些点。目前该解决方案有 3 个项目——数据、服务、Web。数据项目使用Entity Framework。 Web 项目以前只是 MVC,但现在有一个 Web API,我们有几百个 RESTful API 调用和一个 AngularJS 前端。

看起来 ASP.NET 5 个 Web 应用程序的默认解决方案使用了一个新结构,其中 Web 项目包含 wwwroot 和其他东西。您会建议拥有多个项目还是我们应该将数据和服务保留在主项目中?我倾向于单一项目方法,但我不确定最好的长期结构是什么。谢谢!

一个解决方案,多个项目。重点是分离项目的可重用组件。实际上,我会在您在问题中列出的项目中再添加一个项目。型号。

假设您决定将另一个应用程序添加到您的解决方案中。它可能是 Xamarin Forms 应用程序、WPF 应用程序、控制台应用程序、Windows 服务等。如果您的模型和数据层都在各自的 class 库中,您可以重复使用它们而无需重复代码。如果您将模型和数据层放入您的 Web API 项目中,您将无法轻松地在您的新应用程序中重用它。

唯一我不一定(认为我仍然可能)结合的是 Web API 应用程序和 Angular 应用程序。这两个可能非常复杂,因此将它们放在一个项目中是有意义的。