繁体   English   中英

新的ASP.Net MVC项目的体系结构

[英]Architecture for new ASP.Net MVC Project

我正在一个新项目的开始,但是我不确定某些架构选择。 我希望你们能与我分享您对此的看法。

客户想要一个内部网站来管理他们的客户,项目,库存/产品等。此外,他们还希望为客户提供一个网站,供他们查看产品和订购产品。 因此,对于外部网站,仅查询数据库的一小部分,而内部网站则查询得多。

最初,我在考虑将WCF服务用于所有业务逻辑和存储库。 但是现在我不确定,因为我知道实际逻辑中只有一小部分将用于外部。

使用WCF作为额外的层总是给项目带来很多额外的工作和复杂性。 仅在两个网站项目中都引用业务/存储库层还是在外部网站中使用webAPI更好?

确实,在决定做什么之前,我需要听取其他意见。

使用WCF,业务层组装或Web API本质上没有任何错误。 都有优点和缺点。

如果您有一天可能有许多不同的客户端需要访问数据/业务逻辑,并且这些客户端可能需要进行不同的通信(例如,HTTP,MSMQ,全双工等),则WCF最有意义。

如果您确定要开发的2个Web应用程序之外的客户端将不需要访问数据/业务逻辑,则可以使用业务层组装。 但这并不是说您被限制这样做。 您总是可以从这里开始,以后再删除对程序集的引用,在WCF或Web API中封装对程序集的访问,然后从Web应用程序中引用WCF或Web API。

Web API是一个不错的选择,原因有几个。 它为许多不同的客户端提供了访问数据/业务逻辑的能力,而没有WCF附带的所有开销。 此外,如果您有非.NET客户端,则不必担心可能需要对WCF绑定进行的一些调整。 您还可以利用MVC在Web API中为您提供的一些功能,例如模型绑定和验证。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM