动态设置web.config中的值?

时间:2013-02-21 12:45:35

标签: c# asp.net

在我的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

2 个答案:

答案 0 :(得分:0)

您将无法更新web.config,但您可以使用一个方法来获取连接字符串。

然后,此方法可以从web.config文件中获取连接字符串,获取项目设置(在本例中为username),并在返回之前将其放入连接字符串中。

这会是一个合适的选择吗?

答案 1 :(得分:0)

在连接字符串中,而不是使用用户名,您可以使用某些变量,如## username ##。然后从代码中获取此连接sring以及设置文件中的用户名,并将## username ##替换为设置文件username。

使用此连接字符串进行连接。你想要的吗?