将连接字符串放在模型或GUI中

时间:2011-07-27 20:13:53

标签: vb.net

我有一个VB.NET 2010解决方案,它包含2个项目,一个类库和一个Windows窗体应用程序。

类库基本上是一个模型,用于进行数据库集成。

我目前在类库项目设置中放置了连接字符串,但它们似乎没有列在应用程序的配置文件中的任何位置。检索类库中连接字符串的最佳做法是什么?我不想使用单身人士。它应该存储在应用程序或类库中吗?

2 个答案:

答案 0 :(得分:0)

似乎类库更有意义,因为这是与数据库交互的项目。加密连接字符串并将其存储在文件或注册表项中可能是有益的,这样如果系统受到攻击,入侵者仍然必须破解密钥以查看连接字符串,但仍然提供了更改它而不重新编译您的应用程序。

答案 1 :(得分:0)

我仍然按照我在之前的问题中所说的那样 - 将设置/配置保留在类库之外。将它们放在使用类库的应用程序的配置文件中。

如果连接字符串发生变化会怎样?由于类库不使用配置文件,因此您很可能必须更新代码,重新编译并重新部署它。如果它是一台机器上的一个程序,那不是什么大不了的事,但如果它是多个程序和/或多台机器呢?

当然,您仍然需要通过配置文件在多程序/多系统环境中进行大量更改,但这比使用类库重新编译(和回归测试)要简单得多。

另一个要考虑的因素是,如果不同的应用程序想要使用同一个类库,该怎么办?如果您的不同环境具有不同的连接字符串,该怎么办?等等。

简而言之,我会选择为应用程序保留配置项,而不是支持类库。从可重用性和可扩展性的角度来看,我认为这可以为您带来最大的收益。

如果你只有一个应用程序并且它只会使用这个类库,而没有其他人可以,你可以将配置设置保留在其中 - 但使用短语“我们永远不会改变”或“这将永远是这样的“是一个很好的方式让你头疼不已。

当然,以上所有内容都是我认为的,不应该被视为我正式为任何其他程序员或公司发言:)

已编辑添加

您必须手动将所需的设置从类库的配置移动到应用程序的配置。 VS不会为你做这件事。

为什么要不断提出单身设计模式?你从中看到了什么潜在的好处?还是有其他人向你提出建议?