有没有办法使用Slow Cheetah转换Azure Worker角色中的app.config?

Jac*_*ard 5 connection-string app-config azure azure-worker-roles slowcheetah

我正在尝试使用Slow Cheetah在本地数据库连接字符串和SQL Azure连接字符串之间切换.这是Azure工作者角色,我正在使用TeamCity推送到Azure.当我查看日志文件时,Slow Cheetah进程正在正常运行并且正在生成转换后的app.config,但未来的构建步骤(我认为我无法控制)是用原始app.config编写转换后的文件. .

有没有其他人用这种方法取得任何成功,或者你能指点我另一种方法来切换我的连接字符串.我被指向只使用一个连接字符串并编辑hosts文件指向我想要的数据库,但这看起来很混乱.

Mon*_*ome 5

在处理Azure的生产和测试/本地环境时,最佳做法是将此类配置信息存储在服务配置文件中,而不是web.config中.您可以根据需要创建任意数量的服务配置文件,然后在发布解决方案时通过GUI或cspack选择所需的.cscfg文件.默认情况下,Visual Studio中的Azure模板提供两个.cscfg文件:

  • ServiceConfiguration.Cloud.cscfg
  • ServiceConfiguration.Local.cscfg

您可以使用这些现有文件添加两个不同的连接字符串条目,也可以创建自己的文件.您可以将连接字符串值存储在.cscfg文件中,如下所示:

<ConfigurationSettings>
  <Setting name="DbConnectionString" value="blah" />
</ConfigurationSettings>
Run Code Online (Sandbox Code Playgroud)

然后,您可以在代码中获取配置设置条目的值,如下所示:

RoleEnvironment.GetConfigurationSettingValue("DbConnectionString")
Run Code Online (Sandbox Code Playgroud)

以下是此方案的相关MSDN主题: