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). |
Related documentation¶
- Library index
- Overview
- Architecture
- Dependencies
- Operations and processes
- Business rules
- Security and authorization
- Database tables
- SQL catalog
- API reference
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