Skip to content

Configuration settings

This library resolves 8 unique configuration keys across two retrieval mechanisms: the Environment API (GetConfigSetting, 3 keys) and ConfigurationManager.AppSettings (5 keys). No GetSecureConfigSetting/encrypted settings are used anywhere in this library, and no custom ApplicationSettingsBase properties beyond the generated "My.Settings" scaffold exist.

Configuration retrieval methods

Method Class / Interface Namespace Usage pattern
AppGlobal.EnvironmentService.GetConfigSetting(String) IEnvironmentService (via AppGlobal static accessor) SAIF.Core.Services (external, referenced via AppGlobal) Called inline inside clsContext.clsContextRepository data-access methods and in NavigationContext.vb, passing an EnvironmentConfigKeys constant to resolve a SQL Server / Oracle connection key just before opening a connection.
EnvironmentService.GetConfigSetting(String) (unqualified) IEnvironmentService (resolved through an inherited/shared accessor) SAIF.Core.Services Called once in clsControllerBase.HandleErrors(Exception) with a literal string key (not an EnvironmentConfigKeys constant) to fetch a support e-mail distribution list for error notifications.
System.Configuration.ConfigurationManager.AppSettings.Item(key) ConfigurationManager System.Configuration Used for static, non-environment-varying Web.config <appSettings> values: error page override, trace/logging toggles, and a ViewState-in-session feature flag.
ApplicationSettingsBase (Settings Designer) MySettings (My Project\Settings.Designer.vb) System.Configuration Auto-generated VB "My.Settings" typed settings class; no custom settings properties were added beyond the designer scaffold.

Environment API settings

Settings retrieved via IEnvironmentService (centralized environment configuration service).

Setting key Method Data type Purpose Consuming class Source
EnvironmentConfigKeys.NetFrameworkSqlServer GetConfigSetting String Resolves the SQL Server connection for the Context table repository (catalog NETFRAMEWORK). clsContext.clsContextRepository (Delete, Retrieve x2, Save) SAIF.Presentation.Web.MVC\clsContext.vb
EnvironmentConfigKeys.OracleDatabase GetConfigSetting String Resolves the Oracle connection for clsMSOracleDataLayer used by NavigationContext to retrieve menu/authorization data. NavigationContext.New(inUser) SAIF.Presentation.Web.MVC\NavigationContext.vb
"policymanagement.supportemaillist" (literal string key, not an EnvironmentConfigKeys constant) GetConfigSetting String Recipient distribution list for error-notification e-mails. clsControllerBase.HandleErrors SAIF.Presentation.Web.MVC\clsControllerBase.vb

All three calls use plain-text GetConfigSetting; no GetSecureConfigSetting calls exist anywhere in this library.

AppSettings (Web.config)

Settings retrieved via ConfigurationManager.AppSettings. No Web.config/App.config exists inside this library itself (it is a class library, not a deployable application) — all keys below are expected to be supplied by the hosting web application's Web.config <appSettings> section at runtime (a transitive configuration dependency).

Setting key Default value Purpose Consuming class Source
ErrorPageName None in config; code falls back to http://saifonline/weberror/processerror.aspx for internal 10.*.*.* hosts, else https://saifonline.saif.com/weberror/processerror.aspx Overrides the hard-coded internal/external error redirect URL. clsControllerBase.HandleErrors SAIF.Presentation.Web.MVC\clsControllerBase.vb
TraceLogging None (guarded by IsNothing check; only applied if present) Enables clsLogTrace diagnostic tracing. clsControllerBase.New (constructor) SAIF.Presentation.Web.MVC\clsControllerBase.vb
PageTraceOn None (guarded by IsNothing check) Enables page-level trace output. clsControllerBase.New (constructor) SAIF.Presentation.Web.MVC\clsControllerBase.vb
TraceUser None (guarded by IsNothing check) Restricts tracing to a specific user. clsControllerBase.New (constructor) SAIF.Presentation.Web.MVC\clsControllerBase.vb
EXT_VIEWSTATE_SESSION False (parsed with Boolean.TryParse; defaults to False if missing/unparsable) Boolean feature flag controlling whether ViewState is persisted server-side in Session for external users (BR-MVC-007). ViewPageBase.PageStatePersister (property getter) SAIF.Presentation.Web.MVC\ViewPageBase.aspx.vb

Database connection configuration

Connection name Provider Retrieval method Purpose Source
Context Repository connection (ad hoc SqlConnection, opened via clsConnection.getConnection) SQL Server AppGlobal.EnvironmentService.GetConfigSetting(EnvironmentConfigKeys.NetFrameworkSqlServer), passed with fixed application/environment tokens "APPM" and "NETFRAMEWORK" to clsConnection.getConnection Persists/retrieves cross-application MVC "context" hand-off values (claim ID, policy number, SAIF claim number, provider location sequence number) in the Context table, used when navigating a user session between SAIF applications. SAIF.Presentation.Web.MVC\clsContext.vb
Oracle data-access connection (constructed via clsMSOracleDataLayer) Oracle AppGlobal.EnvironmentService.GetConfigSetting(EnvironmentConfigKeys.OracleDatabase) Instantiates the Oracle data-access layer used by NavigationContext for navigation/menu-authorization data lookups; the actual connection string resolution/opening happens inside clsMSOracleDataLayer (external, SAIF.Framework.Common), not in this library. SAIF.Presentation.Web.MVC\NavigationContext.vb

Unlike the DbConnectionManager.GetSqlConnectionString/GetOracleConnectionString pattern used elsewhere in SAIF, this library resolves the SQL Server connection through a local helper, clsConnection.getConnection(connectionKeyValue, "APPM", "NETFRAMEWORK", connection), which performs an equivalent role but is not DbConnectionManager itself. clsConnection is referenced but not defined within this library — it is a dependency from SAIF.BOF.Framework.

Secure settings

None found. No calls to GetSecureConfigSetting or SystemHashUtil.ComputeHash exist anywhere in this library. All environment-service retrieval uses the plain-text GetConfigSetting method, and the SQL Server connection key resolved (NetFrameworkSqlServer) is passed to a local connection-opening helper rather than a secure-credential API.

Transitive configuration (from dependencies)

Setting key Method Source dependency Dependency type Purpose
(Web.config <appSettings> section itself) AppSettings Hosting web application Transitive/deployment This library has no Web.config/App.config of its own; all five AppSettings keys above must be declared in the consuming application's Web.config for this library's controller/page base classes to function as intended.

Configuration dependencies

Dependency Type Required at Impact if missing
EnvironmentConfigKeys.NetFrameworkSqlServer resolving to a reachable SQL Server instance Environment service + network/DB availability Runtime (any cross-application context save/retrieve) Cross-application context hand-off (claim ID, policy number, etc.) fails; clsContextRepository methods wrap failures in an ApplicationException.
EnvironmentConfigKeys.OracleDatabase resolving to a reachable Oracle instance Environment service + network/DB availability Runtime (first request per session, to build NavigationContext) Menu-driven page authorization (BR-MVC-002) cannot be evaluated, blocking the request pipeline for any controller derived from clsControllerBase.
Hosting application's Web.config <appSettings> section (ErrorPageName, TraceLogging, PageTraceOn, TraceUser, EXT_VIEWSTATE_SESSION) Configuration file Startup/request Missing keys are tolerated via IsNothing/TryParse guards and fall back to hardcoded defaults (error page URLs) or disabled features (tracing, session ViewState).

Sources

  • SAIF.Presentation.Web.MVC\clsContext.vb
  • SAIF.Presentation.Web.MVC\NavigationContext.vb
  • SAIF.Presentation.Web.MVC\clsControllerBase.vb
  • SAIF.Presentation.Web.MVC\ViewPageBase.aspx.vb
  • SAIF.Presentation.Web.MVC\My Project\Settings.Designer.vb