日期:2014-05-20  浏览次数:20695 次

不知道我这样子的软件设计方案是否可行?
目前需要开机一套软件,其实也简单,就是通过桌面客户端访问远程的数据库,
但考虑到开发效率,所以这是这么想的:
在服务器端通过ado.net entity建立一个WCF 服务,
然后桌面客户端通过访问WCF服务来操作数据库,而不是在桌面客户端直接访问数据库,

现在的问题就是:桌面客户端是直接操作数据库好呢?还是通过WCF服务操作数据库好?

有人说干嘛非得多加一层WCF服务,在桌面客户端直接访问数据库不就得了,
可我总觉得自己的方案应该可行,所以请大家给我指导一二,非常感谢。


------解决方案--------------------
你做的是C/S程序,客户端可以直接访问数据库,如果客户端压力不大,建议你直接访问数据库。使用WCF可以把客户端的压力分配到服务器(应用服务器)。
------解决方案--------------------
这样的架构没有问题得,要是商业的话,我觉得直接访问数据库才有问题,访问量不大的情况下也可以考虑。WCF的安全我想比直接访问数据库要安全些吧(未测试)。
具体的根据你项目的实际需要而决定,本人推荐WCF访问数据库,这样子以后可以省很多工作。
------解决方案--------------------
可直接通过数据库连接字符串访问远程数据库
也可通过WCF返回数据到客户端
WCF提供了强大的功能来支持安全机制,用户名密码验证。
WCF 安全
------解决方案--------------------
“别人”是谁呢?

如果这个人就是个做办公室小软件的,你告诉这个人:“我就是要对客户端隐藏服务器端内部的机制的”。
------解决方案--------------------
如果你不考虑Internet、不考虑网络安全,不考虑网关、代理、防火墙等不可控网络环境,不考虑未来扩展...就直接连数据库...

否则WCF是很好的一个方案,当然也可以有其他接口封装方案...有别人说的话,叫他去思考上面四个问题...
------解决方案--------------------
客户端还是不要直接访问数据库吧。