多种解决方案应用

时间:2019-03-25 15:18:53

标签: c# asp.net asp.net-core

我打算使用ASP.NET Core 2.0(实体框架Core,Angular)创建网站。

我打算用不同的项目(核心,数据层,UI ...等)创建一个解决方案,但是客户端引用“这是一个坏主意,请为您的UI和API创建单独的解决方案。”

我该如何创建多个解决方案并仍然让它们彼此交互? 最佳做法是什么? 如果我为自己的UI创建单独的解决方案,该如何与其他解决方案中的EF上下文进行通信?

3 个答案:

答案 0 :(得分:1)

解决方案基本上只是项目的逻辑容器,因此您可以创建引用相同(现有)项目的多个解决方案。对于大型解决方案(例如Xamarin.Forms),这很常见-您可以为所有项目提供一个大型解决方案,然后为只需要处理一部分项目的开发人员提供较小的解决方案。

您可以通过在 Solution Explorer 中右键单击解决方案,然后选择 Add - Existing Project 将现有项目添加到解决方案中。

答案 1 :(得分:1)

我认为您的客户可能会误解什么是解决方案。在解决方案中对项目进行分组只会影响Visual Studio中的工作空间,并不意味着您的项目之间就具有依赖关系(除非您在其引用中明确指出)

答案 2 :(得分:0)

我可以想象的唯一方法是将每个解决方案作为一组微服务交付。

但是,现在您的体系结构有所不同。这些解决方案中只有一种将是公开的。其他的则需要坐在防火墙后面,以确保外部用户无法访问它们。但是所有这些都将具有可扩展性和安全性问题。

因此,您将拥有一组数据服务,这些数据服务封装Entity Framework并通过Web API公开数据,以及通过Web API到达的业务逻辑API,然后是UI(应包含Angular)。

API调用API。欢迎使用微服务。