下圖表示 uniGUI 伺服器的內部結構。 每個 uniGUI 伺服器都有一個ServerModule的副本, 每台伺服器創建一次, 同時根據用戶活動動態創建和銷毀多個Session。 uniGUI Session包含一個稱為MainModule(多個)的專用DataModule , 它為每個Ses ...
下圖表示 uniGUI 伺服器的內部結構。 每個 uniGUI 伺服器都有一個ServerModule的副本, 每台伺服器創建一次, 同時根據用戶活動動態創建和銷毀多個Session。 uniGUI Session包含一個稱為MainModule(多個)的專用DataModule , 它為每個Session自動創建。 它還包含一個名為MainForm的窗體, 它是 Web 應用程式的主要入口點。 如果項目包含 LoginForm,它將在MainForm之前激活, 以提供可靠和安全的用戶登錄方式。 如預期的那樣, 每個Session可以包含幾個附加的DataModules 和窗體。
每次用戶打開 Web 應用程式的新實例時, 伺服器都會創建一個新的Session。 Session將保持活動狀態, 直到用戶註銷、關閉瀏覽器/選項卡或超時。 每個Session都保持運行的 Web 應用程式的完整狀態, 以便 uniGUI Session稱為狀態。 您可以將每個Session視為您的 Web 應用程式的專用副本, 它與伺服器地址空間中的其他Session共存, 但與所有其他對話隔離。 伺服器使用唯一的 "" Session id "創建每個Session, 它用於正確地將客戶端請求與Session關聯 (Session id 始終是 AJAX 請求的一部分)。
如果 uniGUI 應用程式只是一個 isapi 模塊, 則正在運行的伺服器將實例化一個 isapi 處理程式。 如果沒有 Web 伺服器, 則運行的伺服器將啟用其內部 web 伺服器。 在這兩種情況下, 對活動 Web 伺服器的所有請求最終都將轉到正確的Session。