Refactor Windream session initialization and login checks

Refactored Windream session management to use IsLoggedIn() for determining when to re-initialize the session, removing the previous 2-hour expiration logic. Improved IsLoggedIn() to handle null session objects safely. Also removed explicit Windream initialization from frmNIHauptseite.vb, centralizing session handling and improving robustness against session expiration and null references.
This commit is contained in:
OlgunR
2026-04-15 17:18:59 +02:00
parent c3c214dfed
commit 8f894d582d
3 changed files with 4 additions and 13 deletions

View File

@@ -14,7 +14,6 @@ Public Class ClassNIProfile
xmlConfigFile = oConfigPath
ClassNIProfile.LoadFromXmlFile()
' 3b. Windream initialisieren (Connection, Session, ... aufbauen)
_windream.Init()
End Sub
Public Shared Function IsXmlAccessable() As Boolean
Dim xml As New Xml.XmlDocument

View File

@@ -107,10 +107,8 @@ Public Class ClassWindream_allgemein
''' <returns>Liefert True wenn das Anmelden erfolgreich war, sonst False</returns>
''' <remarks></remarks>
Public Function Init() As Boolean
Dim oHourDifference As Integer
oHourDifference = CInt(DateDiff(DateInterval.Hour, CURRENToWMSession_Created, Now))
If IsNothing(CURRENToWMSession) Or oHourDifference >= 2 Then
If IsNothing(CURRENToWMSession) OrElse Not IsLoggedIn() Then
If WMLOGIN_DOMAIN <> String.Empty Then
GetWMSessionAsUser(WMLOGIN_DOMAIN, Me.GetCurrentServer, WMLOGIN_USER, WMLOGIN_PW)
Else
@@ -123,7 +121,6 @@ Public Class ClassWindream_allgemein
Return True
End If
End Function
Private Function GetWMSession()
Try
@@ -530,6 +527,9 @@ Public Class ClassWindream_allgemein
''' <remarks></remarks>
Public Function IsLoggedIn() As Boolean
Try
If IsNothing(Me.oWMSession) Then
Return False
End If
Return Me.oWMSession.aLoggedin
Catch ex As Exception
clsHelper.Add_Application_log("Unexpected error in Windream.IsLoggedIn: " & ex.Message)

View File

@@ -68,17 +68,9 @@ Public Class frmNIHauptseite
_windreamNI = New ClassNIWindream(_MyLogger)
database = New ClassNIDatenbankzugriff(_MyLogger)
' 3b. Windream initialisieren (Connection, Session, ... aufbauen)
If _windreamNI.Init() = False Then
_Logger.Warn("Die Windream-Klasse konnte nicht initialisiert werden. Windream-Client unvollständig gestartert.")
Exit Sub
End If
'ClassMoveRenameLogger.Init("", "MoveRename_", True)
AddHandler bwProfil.DoWork, AddressOf bwProfil_DoWork
AddHandler bwProfil.RunWorkerCompleted, AddressOf bwProfil_RunWorkerCompleted
AddHandler bwProfil.ProgressChanged, AddressOf bwProfil_ProgressChanged