2010-10-12 54 views
4

我需要更改web.config文件中的數據庫連接字符串,但還沒有得到一個線索如何去做這件事。有沒有人有任何經驗?從您的ASP.NET應用程序更改您的web.config

UPDATE
對不起,不是很清楚上面,我希望能夠從Web應用程序更改連接字符串,它已經部署

+3

您是否知道修改web.config會重置您的網站?你不應該那樣做。 – 2010-10-12 14:46:00

+0

我沒有意識到這一點,謝謝。在這種情況下,重置網站可能會好起來,因爲數據庫連接也會發生變化。 – Jimbo 2010-10-12 14:48:39

+0

我會爲web.config中代碼更改的任何標記添加註釋,以提醒觀察者該值可能會更改。有人在將來不知道值可能會改變代碼的代碼可能會變得困惑。 – DaveB 2010-10-12 15:50:25

回答

2
Configuration myConfiguration = WebConfigurationManager.OpenWebConfiguration("~"); 
//appSettings configuration 
myConfiguration.AppSettings.Settings["xxx"].Value = "yyy"; 
//database connections configuration 
myConfiguration.ConnectionStrings.ConnectionStrings["xxxconnection"].ConnectionString = "yyy"; 
myConfiguration.Save(); 

http://msdn.microsoft.com/en-us/library/system.configuration.configuration.connectionstrings.aspx

編輯:

http://msdn.microsoft.com/en-us/library/system.configuration.connectionstringssection.aspx

此外,由其他人指出的那樣,你需要設置正確的權限,但有時使用共享的主機(從經驗中)他們會要求您輸入您的帳戶的用戶名和密碼,一旦輸入該密碼,您的web.config就會被更改。所以試試吧,如果它不起作用,並且你沒有權限設置權限,那麼恐怕你不得不尋找其他的東西。

祝你好運!

+0

謝謝 - 我必須對上面的代碼做出一個更改:第3行:'myConfiguration.ConnectionStrings.ConnectionStrings [「xxxconnection」]。ConnectionString =「yyy」;' – Jimbo 2010-10-12 15:00:06

+0

感謝您指出這一點,它對您有用? – Mouhannad 2010-10-12 15:04:51

+0

它沒有,只是等到我允許接受答案:) – Jimbo 2010-10-12 15:29:40

1

使用後WebConfigurationManager類如圖所示here

由於它是非常敏感的信息,因此需要按照this site(大衛斯特拉頓提出的鏈接)的說明設置適當的權限。

+0

很好的答案。還有一點,雖然..權限需要適當設置。這篇文章也涵蓋了:http://odetocode.com/Articles/418.aspx – David 2010-10-12 14:50:21

+0

@David Stratton:你說得對,權限應該正確設置。考慮到這一點,我會更新我的答案,謝謝。 – 2010-10-12 14:54:38

相關問題