在WPF应用程序中使用远程数据库的建议方法是什么?

本文关键字:方法 是什么 数据库 应用程序 WPF | 更新日期: 2023-09-27 18:18:34

我有一个任务来创建我们的web应用程序的桌面版本,将分发给我们的客户。我决定用wpf。web应用程序是三层应用程序与dal, bbl和pl。我可以重用很多在我的wpf,但问题是:这是一个好主意,允许远程连接直接到sql server(我可以编译连接字符串直接到应用程序)。或者我应该采用wcf方式,通过web服务访问数据库(这将需要用服务方法包装业务方法)。额外的编码……)?

在WPF应用程序中使用远程数据库的建议方法是什么?

我强烈建议使用WCF服务。这样,您就可以控制对数据库运行查询的内容,并且有助于保持代码更新。远程连接不好的一个很好的例子:

Remote Access World

  1. 使用存储过程GetAnObject
  2. 在升级软件的过程中,您更改GetAnObject以返回不同的内容
  3. 现在所有的旧版本都坏了=(
WCF世界

  1. 使用存储过程GetAnObject
  2. 在升级的过程中,你改变了它返回的内容
  3. 在你的WCF中,你只需要编写一些代码来将你的对象转换成旧的对象并发送到旧的客户端。新客户端正在使用不同的WCF方法调用。

另外,我个人不喜欢把我的SQL服务器开放给任何一个能猜到登录名的人。

如果你发布了一个有错误的版本,你至少有可能错误在WCF端,因此不必用"我的错误"升级来麻烦客户端。他们永远不需要知道问题出在哪里。

理想情况下,您的WCF服务和Web应用程序可以共享代码库,因此您需要维护的代码较少。

我的建议是通过服务(WCF或任何其他)。额外的间接层是解耦,它在维护和可伸缩性方面有很大帮助。例如,如果你已经有了一个web应用程序使用的服务,那么你只需要专注于创建WPF UI就会容易得多。

这完全取决于你想要什么。您是否计划跨应用程序使用DB层和业务层?如果你的答案是肯定的,也许WCF是可行的。

我们有一堆应用程序,我们从WPF应用程序直接连接到DB,因为我们想避免WCF添加的额外的间接层。