8 Stimmen

Wie erhält man alle Konfigurationseinstellungen aus der Azure Config-Datei?

Ich muss alle Konfigurationseinstellungen (aktuelle Rolle oder alle Rollen, egal) aus der Azure cscfg-Datei abrufen. Ich möchte dies tun, weil ich nicht alle Werte einzeln über RoleEnvironment.GetConfigurationSettingValue(key) Methode erhalten möchten.

Gibt es eine Möglichkeit, dies zu tun?

Mit freundlichen Grüßen

2voto

noopman Punkte 610

Die kurze Antwort lautet "nein", denn RoleEnvironment unterstützt nicht den Erhalt aller Konfigurationseinstellungen.

Eine etwas längere Antwort ist, dass das Abrufen von Konfigurationseinstellungen aus der Rollenumgebung in der aktuellen Implementierung durch einen Aufruf von nativem Code erfolgt. Die Trennung der Windows Azure-Anwendung von der Windows Azure-Konfiguration und die Möglichkeit, die Einstellungen in einer laufenden Anwendung auszutauschen, ist die Wurzel dieser Vorgehensweise. Dies geschieht innerhalb der msshrtmi.dll (was so viel wie Microsoft Shared Runtime Managed Interop bedeuten sollte). Dies ist der einzige Verweis, den Microsoft.WindowsAzure.ServiceRuntime.dll neben den Standardverweisen auf .NET.

Hier ist der Methodenaufruf in nativem Code (ich bin nicht weiter als bis hierher gegangen):

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

1voto

knightpfhor Punkte 9099

Es mag wie ein kleiner Umweg erscheinen, aber wenn Sie die Konfigurationen für alle Rollen in einem Einsatz abrufen wollen, können Sie die Funktion Verwaltungs-Api .

0voto

JJS Punkte 6206

Kudu verfügt über eine API für diesen Zweck.

Sie gelangen zu Kudu wie über App Services > Erweiterte Details > Go

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

Die Url für die Einstellungs-API lautet:

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

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X