我打算使用ASP.NET Core 2.0(实体框架Core,Angular)创建网站。
我打算用不同的项目(核心,数据层,UI ...等)创建一个解决方案,但是客户端引用“这是一个坏主意,请为您的UI和API创建单独的解决方案。”
我该如何创建多个解决方案并仍然让它们彼此交互? 最佳做法是什么? 如果我为自己的UI创建单独的解决方案,该如何与其他解决方案中的EF上下文进行通信?
答案 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。欢迎使用微服务。