开发与生产:连接字符串

cra*_*gmj 5 sql-server asp.net app-config visual-sourcesafe web-config

我正在将SQL服务器移动到一台单独的机器上.目前我们在同一个盒子上运行我们的Web服务器和SQL Server.因此,我们有一个带有IIS和SQLServer的生产服务器,然后是一个独立的开发服务器,可以反映这种设置.

当谈到我们的asp.net控件的app.config和web站点的web.config时,这很有效,因为我们可以使用"Initial Catalog = MyDB; ..."并且它起作用,因为两台机器上的DB名称相同.

现在我正在考虑在同一个盒子上运行两个DB(MyDB,MyDB-Dev).有没有一种简单的方法可以在每次部署或编译时都不需要编辑web.config和app.config?这是Visual Source Safe可以处理的吗?

Mar*_*ham 7

这是我使用的解决方案.在Web.Config中,放置以下"include"行:

<connectionStrings configSource="WebCS.config"/>
Run Code Online (Sandbox Code Playgroud)

然后,创建WebCS.config文件并输入以下内容:

<connectionStrings>
<add name="ConnString" 
     connectionString="Data Source=YourServer;Initial Catalog=YourDB;etc..
     providerName="System.Data.SqlClient"/>
</connectionStrings>
Run Code Online (Sandbox Code Playgroud)

然后,在VS中发布您的站点之后,删除WebCS.config文件(我有一个批处理文件来执行此操作),然后捆绑其他所有内容以便传输到新计算机.然后,您将确信所有Web.Config文件设置都与您同步,而不会弄乱您的连接字符串.