2012-01-03 26 views
8

Necesito obtener todas las configuraciones (el rol actual o todos los roles no importan) del archivo cscfg de Azure. Quiero hacer esto porque no quiero obtener todos los valores uno por uno a través del método RoleEnvironment.GetConfigurationSettingValue (clave).¿Cómo obtener todos los parámetros de configuración del archivo de configuración de Azure?

¿Hay alguna manera de hacer esto?

Saludos

+0

¿Te ¿Quieres hacer esto para la aplicación que se está ejecutando actualmente? –

Respuesta

2

La respuesta corta es 'no' la RoleEnvironment no soporta obtener todos los valores de ajuste de configuración.

Una respuesta un poco más larga es que obtener configuraciones del entorno de roles en la implementación actual se realiza a través de una llamada al código nativo. La separación de la aplicación de Windows Azure de la configuración de Windows Azure y la capacidad de intercambiar configuraciones en una aplicación en ejecución está en la raíz de esto de alguna manera. Esto se hace dentro de msshrtmi.dll (que debería significar algo así como Interoperabilidad administrada de Microsoft Shared Runtime). Esta es la única referencia que Microsoft.WindowsAzure.ServiceRuntime.dll tiene aparte de las referencias estándar a .NET.

Aquí es la llamada al método a código nativo (no he ido más allá de esto):

[MethodImpl (MethodImplOptions.Unmanaged, MethodCodeType = MethodCodeType.Native), SuppressUnmanagedCodeSecurity, DllImport ("", EntryPoint =" ", CallingConvention = CallingConvention.StdCall, SetLastError = true)] estática extern inseguro int interna modopt (IsLong) modopt (CallConvStdcall) RdGetApplicationConfigurationSetting (ushort modopt (IsConst) , ushort *);

1

Podría parecer una forma un poco redonda de hacerlo, pero si desea obtener las configuraciones para todos los roles en una implementación, puede usar el management api.

0

Kudu tiene una API para esto.

Tienes la oportunidad de Kudu como a través de la aplicación de Servicios> Detalles avanzada> Ir

https://{app-service-name}.scm.azurewebsites.net/ o https://{app-service-name}-{slot-name}.scm.azurewebsites.net/

La URL de la API de configuración es:

https://{app-service-name}.azurewebsites.net/api/settings o https://{app-service-name}-{slot-name}.scm.azurewebsites.net/

Cuestiones relacionadas