【发布时间】:2011-12-14 17:24:00
【问题描述】:
我的公司正计划将旧版 Winforms 应用程序转变为 WPF/Silverlight 客户端/服务器应用程序。
拥有一个小型服务器应用程序的想法是拥有一个可访问数据库的列表以及可以访问每个数据库的用户类型,而不是必须在每个客户端的管理控制中管理数据库。此外,如果 SQL 请求由服务器处理并返回结果,那就太好了。
该应用程序应该在任意一组数据库上工作,这些数据库将向服务器“注册”,并且用户根据他们的身份验证权限获得一个数据库列表。然后,他们几乎可以在这些数据库上做任何可以想象的事情。系统应该能够处理多达 200 万行。
数据库非常不同,可以有很多,可以是 MS Access、Oracle、SQL Server 等,所以我之前无法指定它们。最重要的是,需要与 SQLite 缓存进行通信。 我已经拥有了来自 Winforms 应用程序的 SQL 查询所需的一切。
我在想:
1) 一个简单的 WCF 服务器,在配置文件中指定每个用户类型的可用数据库。
2) 指定可以对服务器进行的所有必要 SQL 查询的接口。
3) 客户...
这个想法是: 客户端-服务器应用程序,客户端使用 WCF 服务通过调用服务方法对表执行 SQL 查询(INSERT、UPDATE、SELECT 等)。
理想情况下,该服务应可用于 WPF 和 Silverlight 应用程序。
这是要走的路吗?在格式、通信、服务等方面,我可能想利用哪些现有技术。
如果这有问题,我会考虑回到桌面应用程序,但是如何缓解每个客户端的用户类型/数据库访问问题?
【问题讨论】:
-
数据库是否都具有相同的架构?它们“大部分”相似吗?还是它们完全不同?
-
我在我的问题中添加了更多信息。基本上,没有办法在数据库之间找到共同点,因为该应用程序是一个数据建模应用程序,并不适用于特定环境或特定任务。
标签: wpf wcf client-server wcf-data-services