是否可以根据所选的网络发布配置文件更改连接字符串(或仅服务器主机)?也许使用Web.config 转换或者其他什么方式?
我的意思是,对于配置文件“Test”,将连接字符串“MyConnString”(在已发布的 Web.config 中)更改为"Data Source='example.com,14333;..."
对于配置文件“生产” - 至"Data Source=./SQLExpress;..."
这正是创建 Web 配置转换的目的。您在帖子中提供的链接有专门针对连接字符串执行此操作的演练。
要开始转换,请右键单击项目资源管理器中的 web.config 文件,然后选择“添加配置转换”。假设您的解决方案配置中有 ConfigA 和 ConfigB,则会添加两个新文件:Web.ConfigA.config 和 Web.ConfigB.config。
如果您打开这些新文件,除了一堆注释之外,它们将非常空。它们实际上包含一个您可以使用的连接字符串示例 - 它看起来像这样:
<connectionStrings>
<add name="MyDB"
connectionString="Data Source=ReleaseSQLServer;Initial Catalog=MyReleaseDB;Integrated Security=True"
xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/>
</connectionStrings>
取消注释此部分,并将“name”属性更改为基本 web.config 文件中连接字符串的名称。将“connectionString”属性设置为您要用于 ConfigA 的实际值。所以,像这样:
<connectionStrings>
<add name="myConnectionString"
connectionString="Data Source=ConfigASqlServer;Initial Catalog=ConfigADatabase;Integrated Security=True"
xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/>
</connectionStrings>
使用 ConfigB 所需的连接字符串对 Web.ConfigB.config 文件重复此过程。
现在,当您在 Visual Studio 中使用“发布”命令时,它将自动转换基本 web.config 文件,并将“connectionString”属性设置为您发布时所处的任何配置。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)