2

我想安装一个桌面应用程序(在许多站点上 - 大约 10-20 个)应该直接访问 SQL Server,没有服务,也没有服务器 DAL。

该应用程序将安装在大约 10 台机器上的本地网络上,其中一台是服务器。当我将安装程序时,我将设置连接字符串,应用程序将直接与 SQL 服务器对话。

这是一个坏主意吗?

如果是,那有多糟糕?

4

5 回答 5

4

这不一定是个坏主意。如果您不需要扩展,那么这是一种有效的方法。

您所描述的通常称为 2 层客户端-服务器架构。

您可能应该加密配置文件中的连接字符串(但这只会停止窥探,而不是打算恢复您的密码的人)。另一种选择是通过受信任的连接使用 Windows 身份验证,但您确实失去了连接池的能力,但这不应该是 10 - 50 个客户端的问题(球场)。

于 2009-09-30T14:08:08.767 回答
4

当然不是。

根据我最近看到的一项调查,您所描述的是经典的客户端服务器架构,大约 50% 的应用程序仍然以这种方式构建。

鲍勃。

于 2009-09-30T14:11:34.280 回答
2

我已经构建了很多这样的应用程序。我建议您在应用程序本身中构建一个 DAL,这样如果您需要分离数据访问层和表示层,您可以轻松地做到这一点(此外还有其他好处,例如代码标准化、更改内容的单一位置等)。

只要您始终如一并遵循最佳实践,我认为它没有问题。

于 2009-09-30T14:08:29.903 回答
1

如果它在您的本地网络上,那就去吧。如果是通过互联网,我会创建一个网络服务。

于 2009-09-30T14:25:06.250 回答
0

另请注意,有大量现成的 DAL(NHibernate、实体框架),因此您无需自行开发,而且在客户端服务器架构中也能正常工作。

于 2009-09-30T14:45:32.817 回答