2012-01-03 15 views

risposta

2

La risposta breve è 'no' il RoleEnvironment non supporta ottenere tutti i valori di impostazione di configurazione.

Una risposta leggermente più lunga è che ottenere le impostazioni di configurazione dall'ambiente di ruolo nell'implementazione corrente avviene tramite una chiamata al codice nativo. La separazione di Windows Azure Application da Windows Azure Configuration e la possibilità di scambiare le impostazioni su un'applicazione in esecuzione è alla base di questo in qualche modo. Questo viene fatto all'interno di msshrtmi.dll (che dovrebbe significare qualcosa come Microsoft Shared Runtime Managed Interop). Questo è l'unico riferimento Microsoft.WindowsAzure.ServiceRuntime.dll si distingue dai riferimenti standard a .NET.

Ecco il metodo di chiamata in codice nativo (io non sono andato oltre questo):

[MethodImpl (MethodImplOptions.Unmanaged, MethodCodeType = MethodCodeType.Native), SuppressUnmanagedCodeSecurity, DllImport ("", EntryPoint =" ", CallingConvention = CallingConvention.StdCall, SetLastError = true)] interno statico estern unsafe int modopt (IsLong) modopt (CallConvStdcall) RdGetApplicationConfigurationSetting (ushort modopt (IsConst) , ushort *);

1

Potrebbe sembrare un modo leggermente arrotondato per farlo, ma se si desidera ottenere le configurazioni per tutti i ruoli in una distribuzione è possibile utilizzare lo management api.

0

Kudu ha un'API per questo.

Si arriva a Kudu come tramite App Servizi> Dettagli Avanzate> Vai

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

L'URL per le API delle impostazioni è:

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

Problemi correlati