venerdì 14 dicembre 2012

Come recuperare una particolare sezione del web.config

C# 4.0

Ogni volta che devo leggere una particolare sezione del file di configurazione web.config devo sempre effettuare varie ricerche su google, a questo punto per evitarmi ed evitare (eventualmente) a qualcun altro questo tipo di ricerca ecco qualche utile consiglio.
Questa la sezione del web.config interessata ed evidenziato in giallo il valore da recuperare:

<configuration>
  
  <applicationSettings>   
    <Importer.RestService.Properties.Settings>
      <setting name="Importer.RestService_ImporterService_WsImporter" serializeAs="String">
        <value>http://192.168.1.108/Importer.Services/Importer.asmx</value>
      </setting>
    </Importer.RestService.Properties.Settings>
  </applicationSettings>
</configuration>

Questo il codice che ho utilizzato:
Configuration config = WebConfigurationManager.OpenWebConfiguration("~");

ApplicationSettingsGroup applicationSettingsGroup = (ApplicationSettingsGroup) config.GetSectionGroup("applicationSettings");

ClientSettingsSection clientSettingsSection = (ClientSettingsSection)        applicationSettingsGroup.Sections["Importer.RestService.Properties.Settings"];
                   
SettingElement settingElement =                           clientSettingsSection.Settings.Get("Importer.RestService_ImporterService_WsImporter");

string url = settingElement.Value.ValueXml.FirstChild.Value;