SAIF.Presentation.Web.MVC overview¶
Documentation context: Packaged Component (NuGet)
SAIF.Presentation.Web.MVC is the SAIF in-house Model-View-Controller framework layered on ASP.NET WebForms. It supplies the abstract base types that every SAIF WebForms screen derives from — ViewPageBase, ViewControlBase, clsControllerBase, clsModelBase, clsFactoryBase — plus clsContext/clsOnlineContext for cross-application context hand-off persisted in a SQL Server Context table, and NavigationContext for menu-driven page authorization backed by Oracle. It is the only library in this batch that reads configuration, performs data access, and enforces authorization.
Purpose¶
- Supplies the abstract page, user-control, controller, model, and factory base types (
ViewPageBase,ViewControlBase,clsControllerBase,clsModelBase,clsFactoryBase) that orchestrate the request lifecycle for every SAIF WebForms screen: session-timeout handling, security establishment, per-page menu authorization, model initialization, query-string and cross-application context processing, control-value harvesting, navigation, and centralized error handling. - Provides a named key/value context bag (
clsContext/clsOnlineContext) with a SQL Server-backed repository that hands typed values (claim ID, policy number, target/source app and view) between SAIF web applications within a user's session. - Provides
NavigationContext, a per-user cache of authorized menu items (loaded from Oracle viaSAIF.Business.Menu, a project reference within this repository) used to decide whether a request may reach a given application/page. - Consumed by every concrete SAIF WebForms screen and its controller/model pair across the consuming applications; it ships no concrete screens of its own.
Responsibilities¶
- Own the ASP.NET WebForms page/control lifecycle and view identity for every derived screen.
- Establish and propagate the authenticated security principal, and enforce menu-based page authorization on every request.
- Persist and retrieve cross-application context hand-off values.
- Cache the user's authorized menu items for the duration of the session.
- Centralize error logging, notification, and error-page routing.
- Restore client-side input focus after postbacks and expose diagnostic script markers.
Key components¶
ViewPageBase: WebForms page base; wires the controller into the page lifecycle, owns view identity and view-state persistence policy, and processes page-level errors.ViewControlBase: user-control counterpart ofViewPageBase.clsControllerBase: per-screen controller base — initialization, security check, menu authorization, query-string/context handling, control harvesting, navigation, and error handling.clsModelBase: screen model base — holds context and preferences, defines the validate-then-write contract.clsFactoryBase: abstract factory returning the screen's controller and model.clsContext/clsOnlineContext: named key/value context bag with SQL Server-backed cross-application persistence.NavigationContext: per-user authorized-menu cache used for page-level authorization and menu lookups.
Related documentation¶
- Index
- Architecture
- Dependencies
- Operations and processes
- Business rules
- Database tables
- SQL catalog
- Configuration
- Security and authorization
- API reference
Sources¶
- SAIF.Presentation.Web.MVC/SAIF.Presentation.Web.MVC.vbproj
- SAIF.Presentation.Web.MVC/clsControllerBase.vb
- SAIF.Presentation.Web.MVC/clsModelBase.vb
- SAIF.Presentation.Web.MVC/clsFactoryBase.vb
- SAIF.Presentation.Web.MVC/clsContext.vb
- SAIF.Presentation.Web.MVC/clsOnlineContext.vb
- SAIF.Presentation.Web.MVC/NavigationContext.vb
- SAIF.Presentation.Web.MVC/ViewPageBase.aspx.vb
- SAIF.Presentation.Web.MVC/ViewControlBase.ascx.vb
- SAIF.BOF.Presentation.Web.Infragistics111.nuspec