1

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

客户想要一个内部网站来管理他们的客户、项目、库存/产品……除此之外,他们还想要一个供客户查看和订购产品的网站。所以对于外部网站,只有一小部分数据库会被查询,而内部网站会更大。

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

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

在我决定做什么之前,我真的需要听一些其他的意见。

4

1 回答 1

2

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

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

如果您非常确定数据/业务逻辑不需要由您正在开发的 2 个 Web 应用程序以外的客户端访问,那么业务层组装将是有意义的。这并不是说你也可以这样做。您总是可以从这里开始,然后删除对程序集的引用,在 WCF 或 Web API 中封装对程序集的访问,然后从 Web 应用程序引用 WCF 或 Web API。

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

于 2013-09-11T00:22:32.583 回答