在我们的Web项目中,我们有一个自定义数据库连接类,它创建SqlConnection对象并从web.config获取我们的数据库连接字符串。
虽然这很好,但有一个问题。我们的Web项目中的所有项目都依赖于那个web.config,以便这个类可以工作。
我们的DL需要在其他解决方案或项目中使用此数据库连接,这些解决方案或项目不需要web.config,例如试图使用的Console项目,让我们说一些来自我们的Web项目的DL方法一些数据操作。
因此,当我将一些BL项目方法添加到我的控制台解决方案时,它正在寻找创建数据库连接,但我的控制台应用程序当然没有web.config,所以它会爆炸。
是否有更好的方法来管理SqlConnection的创建: a)将该类放入Web项目中 b)使该连接依赖于web.config密钥
这样非基于Web的项目可以在没有BL引用的情况下使用BL,并且依赖于依赖于web.config中最终键的连接?
答案 0 :(得分:1)
在您的控制台应用程序中,这些数据库连接设置需要进入App.Config,但您显然不希望将它们存储在App.Config和Web.Config中,因此您可以使用以下技术。
1)将DN配置设置移动到单个DBSettings.config文件
2)根据需要从Web.Config和App.Config引用配置
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings file="DBSettings.config">
...
</configuration>
此技术为detailed here。