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