2015-09-04 38 views
0

我發現在Machine.config中可以添加連接字符串,以便在每個正在運行的應用程序配置文件中不需要連接字符串。這一點是你有許多框架版本* 2的machine.config文件。所以對於版本4. *你只有2個。這花了我的研究發現,你可以在machine.config如何爲機器範圍內的連接字符串設置一個位置?

<connectionStrings configSource="Config\connectionStrings.config" /> 

不過的ConnectionString元素使用configSource屬性外部化連接字符串,人們意識到,在配置源必須在其中的一個子文件夾machine.config文件位於。那麼如何在機器範圍內存儲所有連接字符串?

+0

可以說,我有5個應用程序。我創建了5個安裝。爲什麼我需要處理一個常見的連接字符串位置,如果我只是可以在一個文件夾中擁有所有內容?然後,當我卸載時,我卸載一個文件夾 - 一個應用程序,一個連接字符串。無需擔心我刪除了也可用於其他4個應用程序的字符串。 –

+0

那麼你不會在5個app.config中的每一箇中都有該連接字符串。我們有30個Web應用程序,每個都在他們自己的應用程序池中我們希望它們都連接到同一個數據庫,並且取決於它所在的機器,可能是一個不同的數據庫。所以我們必須保留30個不同web.config中的每一個的不同版本。 – dko

+0

可能你太年輕了,無法記住叫做「DLL-HELL」的東西。很久以前,有一種想法認爲共享組件是件好事。然後,開發人員意識到事實並非如此。因此,每個應用程序都有自己的配置,它自己的一組DLL(大部分時間)。所以你有30個應用程序使用相同的連接字符串 - 這是打包軟件的工作,爲他們提供適當的Web配置或任何其他。 –

回答

1

我找不到在互聯網上有答案的任何地方。所以我會在經過一些實驗後自己回答這個問題。

  1. 創建一個位置並將您的connectionstrings.config文件放在那裏。防爆。 C:\ Test \ Connectionstrings.config
    1. 在每個machine.config位置中。例如C:\ Windows \ Microsoft.net \ Framework64 \ v4。* \ Config。做步驟3和4
    2. 打開命令提示符作爲管理員的位置,然後運行命令:C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config>mklink /D Config C:\Test
    3. 編輯的machine.config是<connectionStrings configSource="Config\connectionStrings.config" />

現在你有一個位置所有的連接字符串。

相關問題