Skip to content

Configuration settings

SAIF.Presentation.Web.Core.Infragistics111 reads two runtime settings through two different mechanisms: the legacy SAIF mail SOAP endpoint URL is resolved from the framework environment service (AppGlobal.EnvironmentService.GetConfigSetting), and the Oracle environment name used for menu data access is read from the host application's <appSettings> via System.Configuration.ConfigurationManager.AppSettings.Get. The library ships no settings of its own — its app.config contains only an assembly binding redirect and its generated settings class declares no properties — so every value must be supplied by the consuming web application.

Configuration retrieval methods

Method Class / Interface Namespace Usage pattern
GetConfigSetting(String) AppGlobal.EnvironmentService (framework environment service) SAIF.Framework.Security (package SAIF.BOF.Framework) Static access through the AppGlobal singleton; called with a string literal key immediately before assigning the SOAP proxy Url.
ConfigurationManager.AppSettings.Get(String) System.Configuration.ConfigurationManager System.Configuration Fully-qualified inline call in the NavigationContext constructor; the result is passed straight into the Oracle data-layer constructor.
IsClientExternal (property, not a keyed setting) AppGlobal.EnvironmentService SAIF.Framework.Security Read as a boolean environment classification to decide whether the session keep-alive script is emitted; it takes no key argument and is listed here only for completeness.

No GetSecureConfigSetting, SystemHashUtil, DbConnectionManager, EnvironmentConfigKeys, WebConfigurationManager, or <connectionStrings> usage exists in this library.

Environment API settings

Settings retrieved via IEnvironmentService (centralized environment configuration service).

Setting key Method Data type Purpose Consuming class Source
LegacyMailWebServiceUrl GetConfigSetting String Absolute endpoint URL of the SAIFMail.clsSAIFMessage legacy SOAP mail service clsMailMessage (all six SendMail overloads) SAIF.Presentation.Web.Core.Infragistics111/clsMailMessage.vb (lines 99, 123, 148, 175, 202, 226)

The key is a hard-coded string literal — no constant indirection to resolve. No null/empty guard surrounds the call; a missing setting produces an unusable proxy URL at send time.*

AppSettings (Web.config)

Settings retrieved via ConfigurationManager.AppSettings.

Setting key Default value Purpose Consuming class Source
MENU_ENVIRONMENT N/A — not declared in any config file in this repository; must be supplied by the hosting application Names the Oracle environment/database instance used for menu data access NavigationContext (constructor New(inUser As String)) SAIF.Presentation.Web.Core.Infragistics111/NavigationContext.vb (line 186)

Accessed via System.Configuration.ConfigurationManager.AppSettings.Get("MENU_ENVIRONMENT") and passed as the second argument to New clsMSOracleDataLayer(m_DBUserName, …), where m_DBUserName is the hard-coded literal "MENU" (NavigationContext.vb line 11). The key is accessed in code but not declared in any app.config/Web.config in this repository — it is an injected/deploy-time setting. Get returns Nothing when the key is absent, and the value is used without a guard.*

Database connection configuration

Connection strings and database provider settings consumed by this library.

Connection name Provider Retrieval method Purpose Source
Menu authorization data layer (clsMSOracleDataLayer) Oracle (via SAIF.Framework clsMSOracleDataLayer) MENU_ENVIRONMENT (AppSettings) + hard-coded schema/user MENU Loads the user's authorized menu items (clsMenuAuthorizedItemCollection.GetMenuAuthorizedItems) that back all NavigationContext navigation and page-authorization answers SAIF.Presentation.Web.Core.Infragistics111/NavigationContext.vb (lines 11, 186)

No DbConnectionManager call, no GetOracleConnectionString/GetSqlConnectionString call, and no <connectionStrings> entry appears in this library. The connection string itself is resolved inside clsMSOracleDataLayer from the environment name plus the user name; the credential material is not present in this repository.*

Secure settings

No secure configuration is retrieved by this library. There are no GetSecureConfigSetting calls and no SystemHashUtil.ComputeHash usage, even though SAIF.HashUtil is a package reference of the project.

Transitive configuration (from dependencies)

Settings required at runtime by referenced libraries or packages, not directly consumed by this library's code. Only two referenced projects consume configuration; the control libraries and SAIF.Business.Menu contain no configuration calls in live code.

Setting key Method Source dependency Dependency type Purpose
oracleDatabase† (EnvironmentConfigKeys.OracleDatabase) GetConfigSetting SAIF.Presentation ProjectReference clsPreferences.Load builds its Oracle data layer from this key; clsAppModelBase-derived models load user preferences.
oracleDatabase† (EnvironmentConfigKeys.OracleDatabase) GetConfigSetting SAIF.Presentation.Web.MVC ProjectReference NavigationContext (MVC) menu authorization.
netFrameworkSqlServer† (EnvironmentConfigKeys.NetFrameworkSqlServer) GetConfigSetting SAIF.Presentation.Web.MVC ProjectReference clsContext.clsContextRepository cross-application context persistence.
policymanagement.supportemaillist GetConfigSetting SAIF.Presentation.Web.MVC ProjectReference clsControllerBase.HandleErrors error-notification distribution list — AppViewPageBase/clsAppControllerBase inherit this error path.
ErrorPageName AppSettings SAIF.Presentation.Web.MVC ProjectReference Error-page redirect target used by the inherited error handler.
TraceLogging, PageTraceOn, TraceUser AppSettings SAIF.Presentation.Web.MVC ProjectReference clsControllerBase.New trace-logging switches; every clsAppControllerBase instance runs this constructor.
EXT_VIEWSTATE_SESSION AppSettings SAIF.Presentation.Web.MVC ProjectReference ViewPageBase.PageStatePersister; AppViewPageBase derives from ViewPageBase.
SAIFTracingSwitch System.Diagnostics.TraceSwitch (<system.diagnostics><switches>) SAIF.Presentation.Web.MVC ProjectReference Trace level for the inherited controller base.

† Constant values resolved from the SAIF.BOF.Framework package documentation (EnvironmentConfigKeys); the literals are not defined in this repository.

Configuration dependencies

Dependency Type Required at Impact if missing
LegacyMailWebServiceUrl Environment service setting Request (every SendMail call) SOAP proxy Url is unusable; mail send fails at the first attempt to use the proxy.*
MENU_ENVIRONMENT AppSettings key Request (NavigationContext construction) clsMSOracleDataLayer construction fails or behaves unpredictably with a Nothing environment name.*
Host application web.config Configuration file Startup/deploy Both settings above are required with no in-repository default; missing entries surface at first use rather than at startup.

Additional risks: MENU_ENVIRONMENT uses the raw AppSettings channel rather than the environment service, so it bypasses the central environment API and must be maintained separately in each hosting application's web.config. Naming is inconsistent between the two settings (SCREAMING_SNAKE_CASE vs. PascalCase), which increases the chance of a mis-keyed entry in a host web.config.* The library's own app.config is not deployed for a class library, so its Newtonsoft.Json binding redirect must be duplicated in the host application configuration.*

Sources

  • SAIF.Presentation.Web.Core.Infragistics111/clsMailMessage.vb
  • SAIF.Presentation.Web.Core.Infragistics111/NavigationContext.vb
  • SAIF.Presentation.Web.Core.Infragistics111/AppViewPageBase.aspx.vb
  • SAIF.Presentation.Web.Core.Infragistics111/app.config
  • SAIF.Presentation.Web.Core.Infragistics111/My Project/Settings.settings
  • SAIF.Presentation.Web.Core.Infragistics111/My Project/Settings.Designer.vb
  • SAIF.Presentation.Web.Core.Infragistics111/SAIF.Presentation.Web.Core.Infragistics111.vbproj
  • SAIF.Presentation/clsPreferences.vb
  • SAIF.Presentation.Web.MVC/clsContext.vb
  • SAIF.Presentation.Web.MVC/clsControllerBase.vb
  • SAIF.Presentation.Web.MVC/NavigationContext.vb
  • SAIF.Presentation.Web.MVC/ViewPageBase.aspx.vb
  • SAIF.Presentation.Web.Controls.Claim/Web.config
  • SAIF.Presentation.Web.Controls.Policy/Web.config