Azure中的Machine.config替代方案

时间:2013-08-22 15:37:10

标签: c# web-services azure web-config azure-sql-database

我有一个web服务,它连接到DEV / Production环境中的数据库。

我正在管理服务器的machine.config文件中的两个环境连接字符串。

例如,生产服务器中的machine.config将包含以下内容:

<add key="MyDatabase" value="productsConnString..." />

并且dev服务器machine.config将具有以下设置:

<add key="MyDatabase" value="devConnString..." />

当然,当我在代码中连接到数据库时,我正在调用ConfigurationManager.AppSettings["MyDatabase"]并且加载了正确的连接字符串。

我是否可以在Azure环境中实现相同的抽象级别?

我阅读了一些解释有关Config转换的文章,但如果我使用它,我需要复制并粘贴连接字符串到每个应用程序(因为我不仅仅是那个WebService)。

Azure中的machine.config有替代方法吗?也许是某种订阅级别的配置文件?

谢谢!

2 个答案:

答案 0 :(得分:4)

我会认真考虑使用云服务配置文件(假设这是一个PaaS解决方案)。它不仅允许您将应用程序部署包与配置设置分开(就像您正在做的那样),而且还使您能够“动态”调整这些更改以适应故障转移等操作。如果您采取额外的步骤来创建自己的配置提供程序,它还为您提供了一些支持这两种模型的简单方法。

答案 1 :(得分:1)

与Brent一致 - 使用Cloud Service配置文件并使用CloudConfigurationManager.GetSetting("settingsKey")获取设置 - 如果您首先在Azure或模拟器中,则使用Cloud Service配置,如果在此处找不到密钥,则查看appSettings中的web.config文件。