2012-07-18 19 views
12

Aparentemente, Microsoft.WindowsAzure.CloudConfigurationManager.GetSettings se iniciará al buscar en ServiceConfiguration. *. Cscfg y luego recurrirá a web.config y app.config.Configuración de configuración de Azure y Microsoft.WindowsAzure.CloudConfigurationManager

Pero, ¿qué formato debería ser esto en web/app .config?

E.g. para obtener Microsoft.WindowsAzure.CloudConfigurationManager.GetSettings("Foo") para recoger desde app.config, ¿cómo sería el XML?

+0

Desde el enlace msdn que proporcionó: "Solo la configuración de la etiqueta appSettings puede ser r ead por CloudConfigurationManager. Si la configuración está dentro de una etiqueta diferente, al llamar a GetSetting se devolverá nulo. " –

Respuesta

13

Simplemente será un appSettings key/value.

<configuration> 
    <appSettings> 
    <add key="Foo" value="AzureSetting"/> 
    </appSettings> 
</configuration> 
+0

Eso es lo que pensé, pero no funcionó para mí. ¿Estás seguro con AZURE CloudConfigManager? (Simplemente revisando antes de comenzar a desenterrar) – Ryan

+1

Hmmm - ConfigurationManager.AppSettings tampoco funciona, obviamente algo no funciona bien. ¡Gracias! – Ryan

+1

El directorio bin realmente borrado (clean no funcionó) y todo está bien ahora. Harumf ... – Ryan

1

Usted tendrá que añadir los ajustes a la ServiceDefinition.csdef y ServiceConfiguration.cscfg

ejemplo: ServiceDefinition.csdef

<?xml version="1.0" encoding="utf-8"?> 
<ServiceDefinition name="WindowsAzure1" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition" schemaVersion="2012-05.1.7"> 
    <WebRole name="WebRole1" vmsize="Small"> 
     <ConfigurationSettings> 
      <Setting name="Foo"/> 
     </ConfigurationSettings> 
     : 
    </WebRole> 
</ServiceDefinition> 

ejemplo: ServiceConfiguration.cscfg

<?xml version="1.0" encoding="utf-8"?> 
<ServiceConfiguration serviceName="WindowsAzure1" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceConfiguration" osFamily="1" osVersion="*" schemaVersion="2012-05.1.7"> 
    <Role name="WebRole1"> 
    <Instances count="1" /> 
    <ConfigurationSettings> 
     <Setting name="Foo" value="val"/> 
    </ConfigurationSettings> 
    </Role> 
</ServiceConfiguration> 
+0

No es necesario hacer esto. Desde msdn [link] (https://msdn.microsoft.com/en-us/LIBRARY/microsoft.windowsazure.cloudconfigurationmanager) en la pregunta: "Una aplicación .NET que se ejecuta en un entorno fuera de Windows Azure generalmente almacena configuraciones en un archivo web.config o app.config. La clase CloudConfigurationManager le permite leer desde el archivo de configuración apropiado, independientemente del entorno en el que se esté ejecutando su código. " –

Cuestiones relacionadas