![](/img/trans.png)
[英]Sharing code between ASP.NET MVC 5, ASP.NET Web Api 2 and Mobile (Xamarin)
[英]ASP.NET MVC and Web API sharing Class Library Project
我将在 .NET 中构建以下应用程序,我对正确的架构有几个问题:
我首先想到使用 Web API 作为提供数据和业务逻辑的核心。 但是,跨项目需要一个类库,以便所有项目在业务对象方面“使用相同的语言”。 示例:我在控制台应用程序中有一个 SMS 对象,它将向 Web API 提交数据。 此 Web API 也应具有相同的 SMS 对象。 接下来,ASP.NET 将显示 SMS 数据,因此也应该访问相同的对象。 但由于这是一个 MVC 应用程序,它将拥有自己的数据对象。
什么是正确的方法? Visual Studio 中的解决方案树应该如何?
谢谢你的帮助。
不要使用MVC,做一个WebApi服务,选择react或angular之类的Web UI框架。 MVC 不再值得使用。
这样,每个人都可以连接到 WebAPI、您的控制台应用程序、您的网站/仪表板,甚至是未来的移动应用程序。
如果您曾经将数据库从 SQL 服务器更改为 txt 文件 (xD),那么您的控制台应用程序也必须更改。 仅使用一个 API 与您的数据库交互将有效地分离您的所有层。
但是,跨项目需要一个类库,以便所有项目
是的,但您可以使用共享库甚至共享项目来实现这一点。 这只是一堆课程......
您的所有逻辑都应该在 Web API 中。 包括控制台应用程序部分。 它应该只读取数据,然后连接到 API。
因此,在这种情况下,您不需要在所有项目中都使用相同的模型,因为 Web API 业务模型的模型可能比与之交互的模型更复杂。
此外,将仪表板文件提供给客户端(浏览器)将非常容易,因为只需要分派 HTML、js 和 CSS 文件。 任何服务器都可以,而且它不会绑定到 .Net 或您喜欢的任何服务器端代码。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.