我有一个关于WCF和数据库连接的问题......我将控制台应用程序作为服务器,其中包含一些逻辑。然后我有WPF应用程序,可以在连接到服务器并从中获取一些数据的多台计算机上运行。我还需要使用数据库..所以我决定创建使用Entity Framework连接到数据库的WCF服务。到目前为止,非常好..现在所有客户端都可以访问WCF服务..但是我还想用我托管这个WCF服务的服务器连接到数据库..我找到了一些教程如何从主机服务作为客户端的应用程序创建连接。但我不确定它的好主意。所以我想问一下......最好从主机应用程序中使用WCF服务作为客户端..或者我应该只使用此应用程序中的dbContext。服务和直接使用dbContext之间不会有冲突吗?当多个客户端连接thrue服务时,服务器将连接thrue context?
答案 0 :(得分:1)
我将提供一些选择将WCF放在中间的优点和缺点。
赞成
1-增强安全性。仅对托管WCF服务的服务器授予db访问权限。安装app的机器不需要知道数据库的ip地址。此外,您可以使用WCF在消息级别设置安全性。
2-为多个UI提供可重用的API。
3-您可以在集中且一致的API中实现业务逻辑,因此对业务逻辑的更改不会影响客户端应用程序。
缺点
1-性能成本。您始终必须考虑这样一个事实,即添加其他网络请求会影响应用程序的性能。
2-需要维护更多代码和更多硬件。
请记住,复杂性必须合理。在中间添加WCF会增加系统的复杂性。如果不合理,那你就不需要了。