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:
@@ -14,7 +14,6 @@ Public Class ClassNIProfile
|
|||||||
xmlConfigFile = oConfigPath
|
xmlConfigFile = oConfigPath
|
||||||
ClassNIProfile.LoadFromXmlFile()
|
ClassNIProfile.LoadFromXmlFile()
|
||||||
' 3b. Windream initialisieren (Connection, Session, ... aufbauen)
|
' 3b. Windream initialisieren (Connection, Session, ... aufbauen)
|
||||||
_windream.Init()
|
|
||||||
End Sub
|
End Sub
|
||||||
Public Shared Function IsXmlAccessable() As Boolean
|
Public Shared Function IsXmlAccessable() As Boolean
|
||||||
Dim xml As New Xml.XmlDocument
|
Dim xml As New Xml.XmlDocument
|
||||||
|
|||||||
@@ -107,10 +107,8 @@ Public Class ClassWindream_allgemein
|
|||||||
''' <returns>Liefert True wenn das Anmelden erfolgreich war, sonst False</returns>
|
''' <returns>Liefert True wenn das Anmelden erfolgreich war, sonst False</returns>
|
||||||
''' <remarks></remarks>
|
''' <remarks></remarks>
|
||||||
Public Function Init() As Boolean
|
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
|
If WMLOGIN_DOMAIN <> String.Empty Then
|
||||||
GetWMSessionAsUser(WMLOGIN_DOMAIN, Me.GetCurrentServer, WMLOGIN_USER, WMLOGIN_PW)
|
GetWMSessionAsUser(WMLOGIN_DOMAIN, Me.GetCurrentServer, WMLOGIN_USER, WMLOGIN_PW)
|
||||||
Else
|
Else
|
||||||
@@ -123,7 +121,6 @@ Public Class ClassWindream_allgemein
|
|||||||
Return True
|
Return True
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
|
||||||
End Function
|
End Function
|
||||||
Private Function GetWMSession()
|
Private Function GetWMSession()
|
||||||
Try
|
Try
|
||||||
@@ -530,6 +527,9 @@ Public Class ClassWindream_allgemein
|
|||||||
''' <remarks></remarks>
|
''' <remarks></remarks>
|
||||||
Public Function IsLoggedIn() As Boolean
|
Public Function IsLoggedIn() As Boolean
|
||||||
Try
|
Try
|
||||||
|
If IsNothing(Me.oWMSession) Then
|
||||||
|
Return False
|
||||||
|
End If
|
||||||
Return Me.oWMSession.aLoggedin
|
Return Me.oWMSession.aLoggedin
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
clsHelper.Add_Application_log("Unexpected error in Windream.IsLoggedIn: " & ex.Message)
|
clsHelper.Add_Application_log("Unexpected error in Windream.IsLoggedIn: " & ex.Message)
|
||||||
|
|||||||
@@ -68,17 +68,9 @@ Public Class frmNIHauptseite
|
|||||||
_windreamNI = New ClassNIWindream(_MyLogger)
|
_windreamNI = New ClassNIWindream(_MyLogger)
|
||||||
database = New ClassNIDatenbankzugriff(_MyLogger)
|
database = New ClassNIDatenbankzugriff(_MyLogger)
|
||||||
|
|
||||||
|
|
||||||
' 3b. Windream initialisieren (Connection, Session, ... aufbauen)
|
' 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)
|
'ClassMoveRenameLogger.Init("", "MoveRename_", True)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
AddHandler bwProfil.DoWork, AddressOf bwProfil_DoWork
|
AddHandler bwProfil.DoWork, AddressOf bwProfil_DoWork
|
||||||
AddHandler bwProfil.RunWorkerCompleted, AddressOf bwProfil_RunWorkerCompleted
|
AddHandler bwProfil.RunWorkerCompleted, AddressOf bwProfil_RunWorkerCompleted
|
||||||
AddHandler bwProfil.ProgressChanged, AddressOf bwProfil_ProgressChanged
|
AddHandler bwProfil.ProgressChanged, AddressOf bwProfil_ProgressChanged
|
||||||
|
|||||||
Reference in New Issue
Block a user