2009-11-02 80 views
4

好的我有两个Web项目WebProject1 & WebProject2。两者都需要数据库连接,所以这都在一个名为Common的C#.NET项目中。在多个Web项目之间共享连接字符串

现在我的问题是目前两者的连接字符串是相同的,目前它被硬编码到DB类(在Common项目中),但我想将它移出到配置文件。

我真的很想在Common项目中有一个配置文件,其中包含两个web项目都使用的连接字符串。这是可能的,如果是这样,怎么样?

回答

4

有你能做到几个方面:

  1. 把常见的配置设置在machine.config中作为每个项目的应用中显示here
  2. 放在一个中央文件和链接到常见的配置设置。配置如图here
  3. 在注册表中存储
+0

您的应用程序可能没有权限从应用程序目录以外的生产服务器中的任何位置读取/写入。它也可能无权执行注册表R/W。 – 2009-11-02 10:52:11

+1

我不喜欢选项3.注册表设置有点向后一步,他们很难放入源代码控制。 – RichardOD 2009-11-02 11:10:40

+0

链接到连接字符串的configSource的想法似乎是一个不错的主意。我所要做的就是将Common.config文件复制到目标bin目录。我会先给它看看它的工作效果如何,不太清楚硬编码bin目录中配置文件的路径。 – 2009-11-02 11:11:15

2

配置设置这里有一个办法做到这一点。

将您的DataLayer分配给与数据库交互的DataLayer,方法是将其设置为类库项目。类库项目将生成一个程序集,您可以进一步参考您想要的任何项目。在此项目中,在项目根目录中添加“app.config”,并将连接字符串存储到app.config中。然后,项目中的数据访问类可以引用app.config中的连接字符串。当您将数据访问项目编译并部署到程序集中时,app.config将嵌入到程序集中。现在,您可以将此程序集作为参考添加到想要共享连接和数据访问的项目中。

+0

那么我们将如何更改部署连接字符串? – 2009-11-02 10:54:54

+0

您可以在部署前更改app.config中的连接字符串。 – 2009-11-02 11:26:42

相关问题