2017-07-17 24 views
0

CloudConfigurationManagerを使用して接続文字列を取得しています。 私は1つを作成しました* AzureサービスファブリックアプリケーションCloudConfigurationManager.GetSetting( "")は実際にどのように動作しますか?

storageAccount = CloudStorageAccount.Parse(CloudConfigurationManager.GetSetting("StorageConnectionString")); 

は、それが正常に動作しているが、私は同様にこれを見ることができます: enter image description here

はServiceRuntimeから "StorageConnectionString" を取得:FAILを。

なぜこのように表示されているのかを説明してください。FAILメッセージです。また、このCloudConfigurationManagerはどのように機能しますか?

注::私はすべてを見ているので、回避策にはタグを付けないでください。 私が既に訪れたが満足していないリンクはここにあります。それは、このようなFAILメッセージを示している理由

Link-1Link-2

+0

サービス構成ファイル(* .cscfg)に 'StorageConnectionString'が定義されていますか? –

+0

これは私のapp.configファイルにありません。実際に私は青空に新しいですし、それを理解しようとしています。 –

+0

サービス設定ファイルでこの設定を定義してください。私が間違っていないと、ロール環境はそこからそれを取り上げます。 –

答えて

1

は親切に説明しています。また、このCloudConfigurationManagerはどのように機能しますか?

AFAIK、Microsoft.WindowsAzure.ConfigurationManagerは単なるスタンドアロンのライブラリであり、依存関係はありません。

Microsoft Azure Configuration Managerは、オンプレミスでもクラウドサービスでも、アプリケーションがホストされている場所に関係なく構成設定を読み込むための統合APIを提供します。

CloudConfigurationManager.GetSettingは、適切な構成ストアから構成設定を読み込みます。アプリケーションが.NET Webアプリケーションとして実行されている場合、GetSettingメソッドは、Web.configまたはapp.configファイルから設定値を取得します。アプリケーションがWindows AzureクラウドサービスまたはWindows Azure Webサイトで実行されている間に、GetSettingServiceConfiguration.cscfgから設定値を取得します。

使用ILSpy、我々はGetSetting方法が設定値を取得するために、まずServiceRuntimeプロバイダをチェックして、レバレッジRoleEnvironment.GetConfigurationSettingValue(string configurationSettingName)でしょう見つけることができます。値がnullの場合、ConfigurationManagerプロバイダを使用し、ConfigurationManager.AppSettings['<settingName>'];を利用します。

internal string GetSetting(string name, bool outputResultsToTrace) 
{ 
    string value = AzureApplicationSettings.GetValue("ServiceRuntime", name, new Func<string, string>(this.GetServiceRuntimeSetting), outputResultsToTrace); 
    if (value == null) 
    { 
     string arg_44_0 = "ConfigurationManager"; 
     Func<string, string> arg_44_2; 
     if ((arg_44_2 = AzureApplicationSettings.<>c.<>9__10_0) == null) 
     { 
      arg_44_2 = (AzureApplicationSettings.<>c.<>9__10_0 = new Func<string, string>(AzureApplicationSettings.<>c.<>9.<GetSetting>b__10_0)); 
     } 
     value = AzureApplicationSettings.GetValue(arg_44_0, name, arg_44_2, outputResultsToTrace); 
    } 
    return value; 
} 

あなたapp.configファイルの設定を構成し、そしてGetSetting方法は、デフォルトでトレースするためにログインし、あなたが提供され、あなたはトレースログを見ること書きますので。さらに、GetSetting('<settingName>',false)を使用してトレースログを無効にすることもできます。

関連する問題