2013-02-21 57 views
2

在我的web.config我有這樣的事情:動態設置web.config中的值?

<connectionStrings> 
    <add name="Entities1" connectionString="metadata=res://*/CData.csdl|res://*/CData.ssdl|res://*/CData.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=ser;initial catalog=dda;persist security info=True;user id=s;password=a;multipleactiveresultsets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" /> 
    <add name="Entities2" connectionString="metadata=res://*/M.AuthModel.csdl|res://*/M.AuthModel.ssdl|res://*/M.AuthModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=ser;initial catalog=dda;persist security info=True;user id=s;password=a;multipleactiveresultsets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" /> 
    </connectionStrings> 

在那裏我有東西,像DB密碼等。

每當我在我的項目中創建一個設置,我得到s.th.像:

<setting name="db_username" serializeAs="String"> 
     <value>s</value> 
</setting> 

是有可能用戶這個setting在上述connectionString這樣我可以例如改變兩者的用戶名只需更改setting

回答

0

您將無法更新web.config,但可以使用獲取連接字符串的方法。

該方法可以從web.config文件獲取連接字符串,獲取項目設置(在這種情況下爲用戶名),並在返回之前將其放入連接字符串中。

這會是一個合適的選擇嗎?

0

在連接字符串而不是使用用戶名,因此您可以使用一些像## username ##這樣的變量。然後,從代碼中取出該連接並從設置文件中取回用戶名,並將## username ##替換爲設置文件用戶名。

使用此連接字符串進行連接。你想要嗎?