- Implementierung von `IDisposable` in der Klasse `Client`, um Ressourcen wie Timer und Kanäle ordnungsgemäß freizugeben. - Einführung von `ActiveClients` und `ClientStatus` zur Verfolgung und Statusanzeige aktiver Clients. - Verbesserte Fehlerbehandlung mit der Methode `HandleCommunicationError`, die Kommunikationsfehler protokolliert, den Client offline setzt und einen Reconnect auslöst. - Optimierung der Reconnect-Logik mit asynchronen Wiederverbindungsversuchen und gestaffelten Verzögerungen. - Erweiterung der Konstruktoren in `Client` um einen optionalen `pClientName`-Parameter und Generierung eines eindeutigen `ClientId`. - Verbesserte Timer-Logik und asynchrone Verarbeitung in `UpdateTimer_Elapsed`. - Einführung der Methode `EnsureAvailable`, um sicherzustellen, dass der Kanal vor Service-Aufrufen verfügbar ist. - Hinzufügen asynchroner Varianten für Service-Methoden (`GetDatatable`, `GetScalarValue`, `ExecuteNonQuery`) und Fallback auf direkte Datenbankzugriffe. - Verbesserte Timeout-Einstellungen und Verbindungsverwaltung in der Klasse `Channel`. - Erweiterungen in `DatabaseWithFallback` für asynchrone Methoden und detaillierteres Logging. - Aktualisierung der Assembly-Version auf `2.7.0`.
5.3 KiB
5.3 KiB