我有一个标准的nteir设置: -
网络服务器 - >应用服务器 - >数据库服务器
我有一个位于Web服务器上的MVC 5 Web应用程序,控制器调用位于App服务器上的WCF服务项目。 WCF服务项目使用EF6来编组数据库服务器上的数据。
我想知道WCF是否过度杀伤?是否有更简单的方法来实现这种相同的架构?我想我应该在app服务器上使用Web API,然后只使用HTTPClient从控制器调用Web API?
或者,我甚至可以在App服务器上使用普通的MVC项目将JSONResults返回给Web服务器上的MVC控制器?
答案 0 :(得分:0)
这取决于......
您必须了解每个设置的好处。这不是详尽的,只是一个快速的脑转储。这应该给你一些进一步展望的提示,因为在狂野的世界中,选择一种或另一种解决方案可能有更多的原因。
我希望这会有所帮助
答案 1 :(得分:0)
我不会改变这一点。
WCF是Web Tier和App Tier之间通信的不错选择。我永远不会把我的App Tier暴露给外面的世界,所以如果我的应用程序与外界有任何通信,那将只通过Web层,如果需要支持多个客户端,我会在Web上创建一个WebAPI等级并揭露它。
我会保持App层仅供组织内部使用,并且使用WCF我可以灵活地编写服务代码和合同,然后可以通过各种绑定(传输,安全性等)公开。如果您正在构建服务您的组织并计划支持多种协议,或者只使用HTTP以外的协议(tcp,名称管道,udp等),那么WCF确实是一个不错的选择。