Click or drag to resize

NetEti.ApplicationEnvironment Namensraum

Ermittlung von Umgebungsparametern der Applikation
Klassen
 KlasseBeschreibung
Public KlasseAppEnvReader Verwaltet eine Liste von IGetStringValue-Objekten und fragt diese der Reihe nach ab um das erste gültige Ergebnis selbst wieder als IGetStringValue an den Aufrufer zurück zu geben.
Für Values, die Wildcards der Form '%Name%' enthalten, findet eine rekursive Ersetzung statt (nur für GetStringValue(...)).
Verwaltet eine zusätzliche Liste, die von außen mit Key-Value Paaren gefüllt werden kann; diese Liste wird bei der Suche ebenfalls berücksichtigt.
Public KlasseAppSettingsRegistry Stellt für mehrere AppEnvReader-Instanzen ein gemeinsames statisches ConcurrentDictionary zur Verfügung, über das eine gemeinsame Parameterliste verwaltet werden kann.
Public KlasseBasicAppSettings Holt Applikationseinstellungen aus verschiedenen Quellen: Kommandozeile, app.config, ggf. app.config.user, Environment.
Implementiert auch das Lesen der Registry, nutzt dies aber selbst noch nicht. Wertet unter Umständen zuletzt auch noch öffentliche Properties aus (DumpAppSettings=true). Macht keine Datenbank-Zugriffe, stellt aber entsprechende Properties bereit.
Die Properties und das Füllen derselben sind nicht zwingend erforderlich, sie dienen nur der Bequemlichkeit; alternativ kann aus der Applikation auch direkt über die Schnittstellen IGetStringValue und IGetValue<T> auf die Applikations-/Systemumgebung zugegriffen werden.
Die hier implementierten Applikationseinstellungen sollen allgemeingültig für Standalone-Anwendungen sein; Für anwendungsspezifische Einstellungen sollte diese Klasse abgeleitet werden. Quellen werden in folgender Reihenfolge ausgewertet (der 1. Treffer gewinnt):
1. Kommandozeilen-Parameter (nicht bei .NetCore-Webanwendungen)
2. Einstellungen in der app.Config (nicht bei .NetCore- Webanwendungen, stattdessen dann appsettings.json)
3. Ggf. Einstellungen in der app.Config.user
4. Environment
5. Registry
6. Unter Umständen öffentliche Properties (DumpAppSettings=true).
Zeitkritische Initialisierungen sollten in abgeleiteten AppSettings generell vermieden werden; die entsprechenden Properties können aber definiert werden und ggf. lazy implementiert werden.
Über die Properties "DumpAppSettings" und "DumpLoadedAssemblies" können zu Debug-Zwecken alle Properties mit ihren Quellen und die FullNames aller zur Laufzeit geladenen Assemblies geloggt werden.
Public KlasseClickOnceDeploymentException Spezieller Exception-Typ für ClickOnce-Exceptions.
Public KlasseClickOnceInfo This is a partial replacement for ApplicationDeployment which is not available in .NET 6 We use a custom Launcher.exe which will set various "CLICKONCE_*" local environment variables Thanks to Simon Hewitt (simmotech) for this helpful workaround. https://github.com/simmotech/Net6ClickOnce Wichtig: Das ganze funktioniert nur, wenn die App über die modifizierte "launcher.exe" aus dem Projekt ...Net6ClickOnce-master\ClickOnceLauncher gestartet wird. Ansonsten werden die zusätzlichen Environment-Variablen nicht gesetzt und Defauts zurückgegeben.
Public KlasseClickOnceUpdateInfo Klasse mit ClickOnce-Updateinformationen.
Public KlasseCommandLineAccess Zugriffe auf Kommandozeilen-Parameter
Implementiert IGetStringValue. Minimal-Funktionalität:
Wenn der übergebene Key in der Kommandozeile existiert, wird dieser unverändert zurückggegeben, ansonsten der Default Value. Ist der übergebene Key numerisch, wird versucht, mit ihm als Index in die Kommandozeilenparameter zu greifen; Bei Erfolg wird der entsprechende Wert zurückgegeben, ansonsten der Default Value.
Public KlasseEnvAccess Zugriffe auf das Environment und auf einige Application-Properties.
Implementiert IGetStringValue.
Public KlassePropertyAccess Zugriffe auf Properties der aktuellen Anwendung (AppSettings).
Nutzt System.Reflection, implementiert IGetStringValue.
Public KlasseRegAccess Liest Werte aus der Registry ein.
Public KlasseSettingsAccess Zugriffe auf die über das .Net-Framework verwalteten AppSettings
Implementiert IGetStringValue.
Enumerationen
 EnumerationBeschreibung
Public EnumerationRegistryRoot Aufzählung der Registry-Rootkeys.