我有一个VB.NET 2010解决方案,它包含2个项目,一个类库和一个Windows窗体应用程序。
类库基本上是一个模型,用于进行数据库集成。
我目前在类库项目设置中放置了连接字符串,但它们似乎没有列在应用程序的配置文件中的任何位置。检索类库中连接字符串的最佳做法是什么?我不想使用单身人士。它应该存储在应用程序或类库中吗?
答案 0 :(得分:0)
似乎类库更有意义,因为这是与数据库交互的项目。加密连接字符串并将其存储在文件或注册表项中可能是有益的,这样如果系统受到攻击,入侵者仍然必须破解密钥以查看连接字符串,但仍然提供了更改它而不重新编译您的应用程序。
答案 1 :(得分:0)
我仍然按照我在之前的问题中所说的那样 - 将设置/配置保留在类库之外。将它们放在使用类库的应用程序的配置文件中。
如果连接字符串发生变化会怎样?由于类库不使用配置文件,因此您很可能必须更新代码,重新编译并重新部署它。如果它是一台机器上的一个程序,那不是什么大不了的事,但如果它是多个程序和/或多台机器呢?
当然,您仍然需要通过配置文件在多程序/多系统环境中进行大量更改,但这比使用类库重新编译(和回归测试)要简单得多。
另一个要考虑的因素是,如果不同的应用程序想要使用同一个类库,该怎么办?如果您的不同环境具有不同的连接字符串,该怎么办?等等。
简而言之,我会选择为应用程序保留配置项,而不是支持类库。从可重用性和可扩展性的角度来看,我认为这可以为您带来最大的收益。
如果你只有一个应用程序并且它只会使用这个类库,而没有其他人可以,你可以将配置设置保留在其中 - 但使用短语“我们永远不会改变”或“这将永远是这样的“是一个很好的方式让你头疼不已。
当然,以上所有内容都是我认为的,不应该被视为我正式为任何其他程序员或公司发言:)
已编辑添加
您必须手动将所需的设置从类库的配置移动到应用程序的配置。 VS不会为你做这件事。
为什么要不断提出单身设计模式?你从中看到了什么潜在的好处?还是有其他人向你提出建议?