如何从应用程序级别在Azure中使用服务配置?

时间:2013-11-28 09:22:11

标签: c# .net azure app-config

我在C#中实现了一些云服务。整个解决方案包括Service Project和一些设置,多个角色的单独项目+一个具有应用程序主要逻辑的独立项目。现在,我需要根据运行环境来区分应用程序URL。我知道(怀疑可能是更好的选择)我可以通过添加ServiceConfiguration.<Cloud|Local>.cscfg修改<Setting name="domain" value="example.com" />文件

现在,我想问的问题是:如何从源代码中访问此配置值?

2 个答案:

答案 0 :(得分:0)

是的,这当然是可能的。因此,如果您有一个云项目A且设置为<Setting name="domain" value="exampleA.com" />,那么您的云项目B的设置为<Setting name="domain" value="exampleB.com" />,那么您的主要项目是用于云项目A和B.

当您运行项目A并从主项目中读取设置domain时,您将获得exampleA.com,当您运行项目B并阅读相同的设置时,您将获得exampleB.com

答案 1 :(得分:0)

我添加到ServiceConfigurationCloud.cscfg和ServiceConfigurationLocal.cscfg

<ConfigurationSettings>
<Setting name="DataBaseConnectionString" value="Data Source=MYNAME.database.windows.net;Initial Catalog=MYDATABASE;Persist Security Info=True;User ID=USERNAME;Password=PASSWORD"/>
</ConfigurationSettings>

然后我添加到ServiceDefinition.csdef文件。

<ConfigurationSettings>
  <Setting name="Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString" />
  <Setting name="DataBaseConnectionString"/>
</ConfigurationSettings>

在代码中,我可以使用

从文件中读取
string DBCO = RoleEnvironment.GetConfigurationSettingValue("DataBaseConnectionString");