代码之家  ›  专栏  ›  技术社区  ›  abatishchev Karl Johan

有可能链接到网络吗。使用发布配置文件配置转换?

  •  8
  • abatishchev Karl Johan  · 技术社区  · 15 年前

    目前,我可以轻松设置网页。基于构建配置的配置转换,例如使用 connectionString=server;.. 对于 Debug connectionString=./SQLExpress;.. 对于 Release .

    但是有没有可能做一些网络测试呢。基于web发布配置文件的配置转换?即使用 connectionString=server1;.. 个人资料 Server1 connectionString=server2;.. 对于 Server2 ?

    3 回复  |  直到 9 年前
        1
  •  5
  •   Rob    14 年前

    我们将所有特定于机器/配置文件的配置保存在单独的配置文件中,然后使用configSource将它们包括在内,就像这样。。。

        <connectionStrings configSource="cstrings.config"/>
    

    这边是网络。配置是相同的,不需要任何转换。我们对连接字符串、smtp设置和应用程序设置执行此操作。

    我们在网络上进行版本控制。配置和“特定于机器”的文件,如cstring。配置。生产,销售。配置。舞台等。

    一旦你有了这种结构,就很容易为不同的配置文件生成图像。我们在每台机器上都有部署脚本,可以读取环境变量并进行适当的部署。例如,暂存服务器构建脚本复制CString。配置。登台表演。配置等等。

        2
  •  0
  •   Jonathan Stanton    14 年前

    可能有一种稍微不同的方法来实现这一点。

    在生产服务器上,在每台生产机器的c:\windows\system32\drivers\etc\hosts文件中为customdb创建一个虚拟条目。每一个都指向您希望该机器使用的数据库。然后只需指向connectionString=customdb;适用于所有生产服务器。

    唯一的缺点是,您需要访问主机文件,并且需要使用数据库。

    希望这有帮助

        3
  •  0
  •   Glorfindel Doug L.    4 年前

    我认为发布配置文件独立于构建配置文件,这有点遗憾,因为您可能很容易意外地将调试配置部署到生产服务器上。

    但是,如果您使用的是MSDeploy,则有一些方法可以修改web。在里面。看见 MSDeploy - Changing Connection string parameter after deploying the package 更多细节。