2009-11-02 79 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

相關問題