Überwachung kürzlich aktiver Benutzer hinzugefügt

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.
This commit is contained in:
Developer01
2026-10-12 15:51:22 +02:00
parent 2d1b21d728
commit 205e0ad302
4 changed files with 32 additions and 19 deletions

View File

@@ -1,11 +1,12 @@
Imports System.Runtime.Serialization
Namespace Messages
<DataContract>
<DataContract(Name:="ServiceStatusResponse", [Namespace]:="http://schemas.datacontract.org/2004/07/DigitalData.Services.EDMIService.Messages")>
Public Class ServiceStatusResponse
<DataMember> Public Property ActiveSessionCount As Integer
<DataMember> Public Property ActiveUsers As List(Of String) ' Distinct, sortiert
<DataMember> Public Property ActiveSessions As Dictionary(Of String, String) ' SessionId → Username
<DataMember> Public Property Timestamp As DateTime
<DataMember(Order:=1)> Public Property ActiveSessionCount As Integer
<DataMember(Order:=2)> Public Property ActiveUsers As List(Of String)
<DataMember(Order:=3)> Public Property ActiveSessions As Dictionary(Of String, String)
<DataMember(Order:=4)> Public Property Timestamp As DateTime
<DataMember(Order:=5)> Public Property RecentUsers As List(Of String) = New List(Of String)()
End Class
End Namespace