Page initialization and session keep-alive¶
This operation runs on every page inheriting AppViewPageBase, performing baseline page initialization, control CSS reset, and — for internal clients — registering a client-side session keep-alive script.
| Field | Value |
|---|---|
| Operation ID | OP-AVPB-001 |
| Trigger | ASP.NET page lifecycle events (Init, Load) on any page inheriting AppViewPageBase |
| Inputs | None beyond page state |
| Outputs | Registered client script blocks, control CSS resets |
| Primary components | AppViewPageBase.Page_Init, Page_Load, CallSessionPing |
| Entry point | SAIF.Presentation.Web.Core.Infragistics103\AppViewPageBase.aspx.vb |
Steps¶
Page_InitsetsEnableSessionPing = True(default-on) and calls the designer-stubInitializeComponent(empty body).Page_LoadcallsCallSessionPing().- If
CallResetBackcolorisTrue(default), callsUtilities.clsControlManager.ResetBackColor(Me)to recursively normalize control CSS classes across the page. CallSessionPing: ifEnableSessionPingisTrueandAppGlobal.EnvironmentService.IsClientExternalisFalse— enforces BR-AVPB-001 — registers a script include for/resources/scripts/PingSession.jsand a startup script callingInitializeSessionPing().- If already registered: guarded by
ClientScript.IsClientScriptBlockRegisteredto avoid double registration. - Depends on a
SessionPing.aspxpage existing in the consuming application (documented constraint, not enforced in code).
Process flow¶
The following diagram visualizes this operation's control flow.
flowchart TD
Start([Page_Init]) --> S1[EnableSessionPing = True]
S1 --> S2[Page_Load fires]
S2 --> S3[CallSessionPing]
S3 --> D1{EnableSessionPing and not IsClientExternal?}
D1 -->|Yes| S4[Register PingSession.js and startup script]
D1 -->|No| Skip[Skip ping registration]
S2 --> D2{CallResetBackcolor True?}
D2 -->|Yes| S5[ResetBackColor recursively]
D2 -->|No| EndNoReset([End])
Failure and edge-case behavior¶
- External client sessions are allowed to time out normally; internal sessions receive the keep-alive script only if a
SessionPing.aspxpage exists in the consuming application (not enforced in code).
Related documentation¶
Sources¶
- SAIF.Presentation.Web.Core.Infragistics103\AppViewPageBase.aspx.vb
- SAIF.Presentation.Web.Core.Infragistics103\clsControlManager.vb