Die Klasse `EDMIService` wurde erweitert, um kürzlich aktive Benutzer zu überwachen. Eine neue `ConcurrentDictionary` namens `_RecentUsers` speichert die letzten Aktivitäten von Benutzern, die maximal 15 Minuten zurückliegen. Die Methode `GetServiceStatus` wurde angepasst, um diese Informationen bereitzustellen und ältere Einträge zu bereinigen.
Die Klasse `ServiceStatusResponse` enthält nun eine neue Eigenschaft `RecentUsers`, die die kürzlich aktiven Benutzer zurückgibt. Die Datei `GetServiceStatus.vb` wurde entfernt und durch eine neue Struktur im Namespace `Messages` ersetzt. Die Projektdatei `EDMIService.vbproj` wurde entsprechend aktualisiert.
Zusätzlich wurden die Datenkontrakte in `ServiceStatusResponse` optimiert, indem die Eigenschaften mit einer expliziten Reihenfolge (`Order`) versehen wurden.
- Assembly-Versionen auf 2.2.0.0 und 2.8.0.0 aktualisiert.
- Verbesserte Steuerung von `ScheduleScrollUpdate` in SnapPanel.
- Erhöhte Serverkapazität für 300+ Benutzer in EDMIService.
- Einführung von Windows-Authentifizierungs-Caching.
- Neuer atomarer Tabellen-Caching-Mechanismus in EDMIService.
- Lock-Mechanismus in JobListener optimiert (Instanz-Lock).
- Verbesserte Performance durch kürzere Lock-Dauern in SaveDataTables.
- Logging und Snapshot-Veröffentlichung nach Job-Ausführung optimiert.
- Allgemeine Skalierungs- und Performance-Verbesserungen.
Die Änderungen umfassen:
- Zusätzliche Prüfung und Fehlermeldung in `ctrlObjectPropertyDialog`, wenn keine Business Entities gefunden werden.
- Anpassung der Logik in `frmObjectPropertyDialog` zur besseren Zuordnung von LayoutControlItem und BaseEdit.
- Einführung von Thread-Sicherheit für den Cache in `EDMIService` mittels `SyncLock`.
- Erweiterung von Methoden wie `ReturnDatatable`, `ReturnScalarValue` und `ExecuteNonQuery` um Performance-Messung mit `Stopwatch`.
- Vereinheitlichung der Fehlerbehandlung durch konsistente Nutzung von `FaultException`.
- Erweiterung des Loggings für Sessions, Cache-Aktualisierungen und Datenbankoperationen.
- Korrektur der Rückgabe in `GetFileInfoByObjectId` und Verbesserung der Fault-Wrapper-Methoden.
- Bereinigung von redundanten Codezeilen und Kommentaren.
Mehrere Module (`ChatAddUser`, `ChatControl`, `ChatNewConv`) und
deren zugehörige Dateien wurden vollständig aus dem Projekt
entfernt. Dies umfasst Designer-, Ressourcen- und Projektdateien
sowie Backup-Dateien.
Zusätzlich wurden nicht mehr benötigte Bilder, Lizenzdateien
(`licenses.licx`), Konfigurationsdateien (`app.config`,
`packages.config`) und generierte Dateien entfernt.
Die Abhängigkeiten in `App.config` wurden aktualisiert, und neue
Bibliotheken wie `System.Threading.Tasks.Extensions` wurden
hinzugefügt. Eine Methode in `Annotations.vb` wurde angepasst,
um Änderungen in der zugrunde liegenden API zu berücksichtigen.
Diese Änderungen sind Teil einer umfassenden Bereinigung und
Modernisierung des Projekts.
Die Änderungen umfassen:
- Anpassung der `App.config`: Entfernen veralteter Einstellungen (`FB_DATABASE`, `FB_USER`, etc.) und Hinzufügen neuer Platzhalter (`Test`).
- Verbesserte Fehlerbehandlung und Protokollierung in `Form1.vb`, `WindowsService.vb` und anderen Klassen.
- Konsistente Verwendung von Symbolen (✔, ⚠) zur Hervorhebung von Erfolgen und Warnungen.
- Aktualisierung der `Settings.settings` und Bereinigung nicht mehr benötigter Konfigurationswerte.
- Downgrade von `Microsoft.Data.SqlClient` von Version 7.0.1 auf 5.2.2.
- Entfernung redundanter Module und Codeabschnitte zur Verbesserung der Wartbarkeit.
- Verbesserte Fehlerbehandlung beim Starten und Stoppen des ServiceHosts.
- Optimierung der Protokollmeldungen für Debugging und Performance-Analysen.
- Neues Projekt `EDMI.API` zur Solution hinzugefügt.
- `App.config`: Abhängigkeiten und `bindingRedirect` aktualisiert.
- Verbesserte Thread-Sicherheit mit `ReaderWriterLockSlim`.
- SQL-Abfragen mit `WITH (NOLOCK)` für bessere Parallelität.
- Robuste Verarbeitung von `DataRow`-Werten mit `IIf(IsDBNull(...))`.
- Neue Sicherheitsprüfung für `JobListener` initialisiert.
- `SaveDataTables` optimiert, Performance-Warnungen hinzugefügt.
- Versionsnummer auf `2.5.0.0` aktualisiert, Copyright auf 2026.
- Paket `NLog` aus `packages.config` entfernt.