2013-07-04 85 views
5

我想在IIS中聲明我的連接字符串並從那裏獲取它。我不想在web.config頁面中聲明它。相反,我需要知道是否可以從web.config中的iis獲取字符串或從代碼文件中讀取它。我使用asp.net 4.0,編碼在c#和服務器是IIS7.5connectionstring在iis中聲明沒有在web.config中聲明

+0

「web.config」有什麼問題?它對你做了什麼?有沒有特別的原因,它不適合你的用例? – Arran

+0

只是好奇你認爲在IIS中的連接字符串將被存儲在哪裏,我猜'web.config'(很高興知道是否有其他東西) – V4Vendetta

+0

很多網站特定的設置(例如處理程序)存儲在' web.config' ...請說明將其存儲在web.config中時出現了什麼問題,以及您希望如何存儲它。 – CodeCaster

回答

3

根據this article你可以使用IIS UI或命令行來修改你的連接字符串,但這隻會寫入<connectionString>以任何方式在web.config文件中的元素(除非您已將其設置爲保存在別處)。

另外,還可以將其存儲在另一個config文件,如果你願意的話,它拉進你的web.config像這樣

<appSettings file="../VirtualDirectory/config/Env.config"> 
</appSettings> 

然後,您可以在您的代碼中調用它像這樣:

System.Configuration.ConfigurationManager.AppSettings["DefaultConn"] 

如果您希望連接字符串的位置不在您的站點下(即在虛擬目錄中),這可能非常有用。

+0

感謝您的答覆。我不想從另一個web.config文件中讀取它。我想從iis中讀取它,而無需在任何web.config中聲明它。是否有可能? – polin

+0

@polin它可以做到,因爲它基本上只是一行文字,但我會建議反對它。我發現的一個選擇是將其存儲在註冊表中。 http://stackoverflow.com/questions/1792911/storing-connection-strings-in-registry http://www.codeproject.com/Articles/3881/Working-with-Windows-Registry-using-VB-NET –

0

你應該把你的連接字符串放在web.config中。把你的連接字符串放在其他地方可能不是可移植的,就像從機器到機器一樣。您還可以在machine.config

總之,把在web.config,如果你關心的保密您可以加密它

你也可以有一個單獨的配置文件如使用configSource屬性從您的web.config引用db.config。

<connectionStringss configSource="Configuration\db.config" /> 
+0

謝謝爲答覆。我不想從另一個web.config文件中讀取它。我想從iis中讀取它,而無需在任何web.config中聲明它。是否有可能? – polin