2013-11-28 5 views
1

C#으로 구현 된 일부 클라우드 서비스가 있습니다. 전체 솔루션은 몇 가지 설정이있는 서비스 프로젝트, 여러 역할을위한 개별 프로젝트 + 응용 프로그램의 주요 논리를 가진 하나의 개별 프로젝트로 구성됩니다. 이제 실행되는 환경에 따라 응용 프로그램 URL을 구별해야합니다. 나는 파일을 수정하여 ServiceConfiguration.<Cloud|Local>.cscfg을 수정하여 수정할 수 있음을 알고 있습니다. (0120)응용 프로그램 수준에서 Azure의 서비스 구성을 어떻게 사용할 수 있습니까?

+0

을 사용하여 파일에서 읽을 수 있었다 코드 내에서

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

? 이를 읽는 일반적인 방법은'RoleEnvironment.GetConfigurationSettingValue (configurationSettingsKey)'입니다. –

+0

예. 하지만 주요 응용 프로그램 논리를 보유하고있는 다른 프로젝트에서 한 프로젝트 (역할 또는 클라우드 서비스)에 대해 구성된 구성 설정을 가져올 수 있습니까? – Moby04

답변

0

네, 물론 가능합니다. 그래서 당신은 클라우드 프로젝트 A을하고는이 <Setting name="domain" value="exampleA.com" /> 설정이 다음 클라우드 프로젝트 <Setting name="domain" value="exampleB.com" />를 설정 한 다음 주 모두 클라우드 프로젝트 (A)에 사용되는 프로젝트를 B.

당신이 실행이 B이있는 경우 프로젝트 A를 읽고 domain을 주 프로젝트에서 읽으면 exampleA.com이되고 프로젝트 B를 실행하고 같은 설정을 읽을 때 exampleB.com이됩니다.

+0

감사합니다. 그러나 클라우드 응용 프로그램에서 변수를 설정하고 싶습니다. 로컬 및 클라우드 파일을 가지고 있으며 모든 프로젝트의 구성을 실행중인 env - compute 에뮬레이터 또는 실제 azure에 따라 해당 값에 액세스 할 수 있습니다. – Moby04

+0

아아 알 겠어 ...이 경우 코드가 다소 복잡 할 것이다. 한 가지 가능성은 에뮬레이터 및 클라우드에 대한 별도의 설정 (이름 별)을 갖는 것입니다. 다른 가능성은'ServiceConfiguration.local.cscfg '와'ServiceConfiguration.cloud.cscfg'에서 언제나 다른 값에 있습니다. –

0

나는 그런 내가 ServiceDefinition.csdef 파일에 추가 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> 

에 추가됩니다. 나는 당신이 당신의 코드를 통해 설정이 구성을 읽을 수있는 방법에 대해 물어 보는

string DBCO = RoleEnvironment.GetConfigurationSettingValue("DataBaseConnectionString"); 
관련 문제