如果尚未设置

时间:2016-10-10 09:37:32

标签: iis web-config connection-string

我正在寻找一种方法,只有当具有该名称的connectionString尚不存在时,才能将connectionString添加到我的web.config文件中。

例如:

我在当前的web.config文件中设置了此设置

<connectionStrings>
    <add name="myDB" providerName="System.Data.SqlClient" connectionString="Data Source=(localdb)\MSSQLLocalDB;Initial Catalog=myDB;Integrated Security=True;Connect Timeout=15;Encrypt=False;TrustServerCertificate=True;ApplicationIntent=ReadWrite;MultiSubnetFailover=False" />
</connectionStrings>

在生产服务器上的IIS设置中,我还为“myDB”添加了connectionString,以便我在源代码中没有生产connectionString。 [Image of the IIS settings]

如果我现在要将我的WebApp Deloy传送到IIS,我会收到一条消息,即已经有一个名为“myDB”的条目。

当IIS服务器设置中还没有一个设置时,有没有办法只使用web.config文件中的connectionString?

1 个答案:

答案 0 :(得分:1)

您可以在使用<remove>标记添加连接字符串之前将其删除。如果<remove>标记中的指定连接字符串不存在,则不会发生任何事情,因此无论连接字符串是否已添加,这都应该有效。

<connectionStrings>
    <remove name="myDB" />
    <add name="myDB" providerName="System.Data.SqlClient" connectionString="Data Source=(localdb)\MSSQLLocalDB;Initial Catalog=myDB;Integrated Security=True;Connect Timeout=15;Encrypt=False;TrustServerCertificate=True;ApplicationIntent=ReadWrite;MultiSubnetFailover=False" />
</connectionStrings>