Skip to content

Configuration settings

SAIF.Services.Printing retrieves four service-endpoint/path settings and two boolean environment properties through EnvironmentServiceBase, and declares two ApplicationSettingsBase ("My.Settings") design-time Web Reference URLs that are never read by consuming code at runtime. No ConfigurationManager.AppSettings, secure settings, or direct database connection configuration were found in this library's own source.

Configuration retrieval methods

Method Class / Interface Namespace Usage pattern
EnvironmentServiceBase.GetConfigSetting(string key) EnvironmentServiceBase (field-typed _environmentService, obtained via AppGlobal.EnvironmentService or injected through a constructor overload) SAIF.Framework.Security* Stored in a private field in the constructor, then GetConfigSetting("<key>") is called once per key to initialize a URL or path field/property. Used in clsPrint.New(envSvc), clsRSPrint.New(envSvc), and Reporting.ReportBase.New(envSvc).
EnvironmentServiceBase.IsProduction (property) EnvironmentServiceBase SAIF.Framework.Security* Read once in clsPrint.New to select m_Environment = "Prod"/"Dev".
EnvironmentServiceBase.IsWeb (property) EnvironmentServiceBase SAIF.Framework.Security* Read in Reporting.ReportBase.Render to select the security platform (clsSecurityPrincipal.Platform.Web vs. another platform).
AppGlobal.EnvironmentService (static accessor) AppGlobal SAIF.Framework.Security Default argument in the library's parameterless constructors (clsPrint.New(), clsRSPrint.New(), ReportBase.New()), each delegating to the environment-service-accepting overload.
ApplicationSettingsBase (design-time My.Settings / MySettings) SAIF.Services.Printing.My.MySettings SAIF.Services.Printing.My Auto-generated typed settings class exposing two read-only, application-scoped WebServiceUrl-attributed string properties. Not referenced anywhere in clsPrint.vb, clsRSPrint.vb, or Reporting\*.vb; consumed only by Visual Studio Web Reference tooling at design/update time.

No ConfigurationManager.AppSettings calls, no DbConnectionManager usage, and no GetSecureConfigSetting/SystemHashUtil usage were found anywhere in this library's own source.

Environment API settings

Settings retrieved via EnvironmentServiceBase (centralized environment configuration service).

Setting key Method Data type Purpose Consuming class Source
documentGeneratorServiceUrl GetConfigSetting String (URL) Sets m_Xpresso.Url, the SOAP endpoint for the xpresso.clsGenerate document-generation service clsPrint (constructor) SAIF.Services.Printing\clsPrint.vb (line 251)
documentMSMQPath GetConfigSetting String (path) Sets m_MessagePath, the MSMQ queue path used for asynchronous document distribution clsPrint (constructor) SAIF.Services.Printing\clsPrint.vb (line 252)
idmFilePath GetConfigSetting String (path) Backs the IDMPath read-only property, re-queried on each access rather than cached clsPrint (IDMPath property) SAIF.Services.Printing\clsPrint.vb (line 183)
sqlReportingServiceUrl GetConfigSetting String (URL) Sets m_RS.Url, the SOAP endpoint for SharepointReporting.ReportExecutionService clsRSPrint (constructor) SAIF.Services.Printing\clsRSPrint.vb (line 108)
IsProduction EnvironmentServiceBase.IsProduction (boolean property, not a GetConfigSetting key) Boolean Selects m_Environment = "Prod"/"Dev" clsPrint (constructor) SAIF.Services.Printing\clsPrint.vb
IsWeb EnvironmentServiceBase.IsWeb (boolean property, not a GetConfigSetting key) Boolean Selects security platform (clsSecurityPrincipal.Platform.Web vs. other) Reporting.ReportBase.Render SAIF.Services.Printing\Reporting\ReportBase.vb

Values are unknown. None of the four GetConfigSetting keys has a matching static entry in Web.config or app.config under this library, and no constants file or EnvironmentConfigKeys-style declaration for them was found in this library's scope.** All four values are presumably resolved at runtime from a centralized SAIF environment-configuration service (the concrete EnvironmentServiceBase implementation returned by AppGlobal.EnvironmentService), whose backing store is outside the scope of this library.*

AppSettings (Web.config)

No <appSettings> section exists in either Web.config or app.config for this library, and no ConfigurationManager.AppSettings call was found in the scanned source. This catalog is empty.

Database connection configuration

No DbConnectionManager usage, no GetOracleConnectionString/GetSqlConnectionString calls, and no <connectionStrings> section were found in this library's source or config files. The library performs no direct database access of its own.** This catalog is empty.

The oracle.manageddataaccess.client custom section and DbProviderFactories registration present in both Web.config and app.config exist solely because the assembly transitively references Oracle.ManagedDataAccess (via SAIF.BOF.Framework); they do not correspond to any connection actually opened by code in this library.*

Secure settings

No GetSecureConfigSetting calls and no SystemHashUtil.ComputeHash/SystemType usage were found anywhere in this library's scanned source. This catalog is empty.

Design-time settings (ApplicationSettingsBase)

Class Property Type Default value Source
SAIF.Services.Printing.My.MySettings (Inherits ApplicationSettingsBase) SAIF_Services_Printing_xpresso_clsGenerate String (application-scoped, SpecialSetting.WebServiceUrl) http://xpressionsdev:8000/wsDocuments/clsGenerate.asmx SAIF.Services.Printing\My Project\Settings.Designer.vb; value stored in SAIF.Services.Printing\app.config
SAIF.Services.Printing.My.MySettings (Inherits ApplicationSettingsBase) SAIF_Services_Printing_SharepointReporting_ReportExecutionService String (application-scoped, SpecialSetting.WebServiceUrl) http://reports.saif.com/_vti_bin/ReportServer/ReportExecution2005.asmx SAIF.Services.Printing\My Project\Settings.Designer.vb; value stored in SAIF.Services.Printing\app.config

Both properties are auto-generated, read-only, and carry SpecialSetting.WebServiceUrl, marking them as Visual Studio "Web Reference URL" settings rather than general-purpose application settings. They back the two Web References under Web References\xpresso\ and Web References\SharepointReporting\. No code path in clsPrint.vb, clsRSPrint.vb, or Reporting\*.vb reads My.Settings.*/MySettings.Default.* — both proxy classes instead hard-set their .Url property from GetConfigSetting calls in their constructors, which run after the Web Reference proxy is constructed with its design-time default URL, so the ApplicationSettingsBase value is always overwritten at runtime for both proxies.*

Custom configuration sections

Section name Handler type Purpose
oracle.manageddataaccess.client OracleInternal.Common.ODPMSectionHandler, Oracle.ManagedDataAccess Registers ODP.NET Managed Driver configuration for Oracle.ManagedDataAccess.Client. Present in both Web.config and app.config; not exercised by any Oracle connection/command code in this library's own source — a transitive dependency artifact from Oracle.ManagedDataAccess being referenced (via SAIF.BOF.Framework).*
applicationSettings → SAIF.Services.Printing.My.MySettings System.Configuration.ClientSettingsSection Application-scoped typed settings section (Settings Designer / My.Settings) holding the two design-time Web Reference URLs above. Present only in app.config.
applicationSettings → SAIF.MySettings System.Configuration.ClientSettingsSection Declared section group entry in app.config; not populated with a values block containing this library's own settings — a solution-wide/shared settings section name inherited from the project template, not used by this library's own consuming code.*
applicationSettings → SAIF.My.MySettings System.Configuration.ClientSettingsSection Declared section in app.config's <configSections>; no corresponding values block is present, and no code in this library references it. Likely inherited boilerplate from the project template.*
system.diagnostics (DefaultSource/DefaultSwitch/FileLog) Standard System.Diagnostics trace source/listener configuration (Microsoft.VisualBasic.Logging.FileLogTraceListener) Standard VB "My.Application.Log" logging scaffolding, present in app.config only. No explicit logging call using My.Application.Log was found in the scanned source.*
system.data → DbProviderFactories N/A (provider factory registration, not a config section handler) Registers/overrides the Oracle.ManagedDataAccess.Client provider factory. Present in both Web.config and app.config; same transitive-dependency caveat as the oracle.manageddataaccess.client section above.*

Environment variance assessment

Setting key Varies by environment Classification basis
documentGeneratorServiceUrl Yes Contains a service endpoint URL (xPression Design document-generation SOAP service); different per environment (dev/test/prod xPression hosts).
documentMSMQPath Yes MSMQ queue path is host/environment-specific (different machine names or queue names per environment).
idmFilePath Yes* File-system path likely differs between environments (different IDM storage mounts per environment); inferred from naming and from the pattern of the other three keys, not directly confirmed.
sqlReportingServiceUrl Yes Contains a service endpoint URL (SSRS ReportExecutionService); different per environment (dev/test/prod SSRS hosts).
IsProduction / IsWeb Yes Boolean environment-service properties whose value is inherently derived from the runtime deployment environment/host type, not a static config key.
SAIF_Services_Printing_xpresso_clsGenerate (My.Settings) No Static, application-scoped design-time default embedded in app.config; not read by consuming code at runtime (superseded by documentGeneratorServiceUrl), so it does not vary per deployed environment in practice.*
SAIF_Services_Printing_SharepointReporting_ReportExecutionService (My.Settings) No Same as above — static design-time default, superseded at runtime by sqlReportingServiceUrl.*
oracle.manageddataaccess.client / DbProviderFactories registration No Fixed driver-registration configuration tied to the referenced Oracle.ManagedDataAccess package version, not an environment-varying runtime value.*

Configuration dependencies

Dependency Type Required at Impact if missing
Centralized SAIF environment-configuration service (AppGlobal.EnvironmentService) Service Runtime (constructor of clsPrint, clsRSPrint, Reporting.ReportBase) If GetConfigSetting cannot resolve documentGeneratorServiceUrl, documentMSMQPath, idmFilePath, or sqlReportingServiceUrl, the corresponding SOAP proxy URL or MSMQ path field would be empty/invalid, causing SOAP calls or MSMQ sends to fail at first use.**
MSMQ queue at documentMSMQPath Infrastructure Runtime (asynchronous clsPrint.distributeDocument) If the queue is unreachable or misconfigured, opening/sending to the MessageQueue throws, and the MSMQ transaction (if started) is rolled back.
External xPression Design server (documentGeneratorServiceUrl) External service Runtime (all clsPrint operations) SOAP calls to xpresso.clsGenerate fail if the endpoint is unreachable or misconfigured.
External SSRS report server (sqlReportingServiceUrl) External service Runtime (clsRSPrint.PreviewDocument) SOAP calls to SharepointReporting.ReportExecutionService fail if the endpoint is unreachable or misconfigured.

Configuration summary

  • Total unique configuration items: 8 — 4 Environment API GetConfigSetting keys (documentGeneratorServiceUrl, documentMSMQPath, idmFilePath, sqlReportingServiceUrl), 2 boolean environment-service properties (IsProduction, IsWeb), and 2 ApplicationSettingsBase design-time settings (SAIF_Services_Printing_xpresso_clsGenerate, SAIF_Services_Printing_SharepointReporting_ReportExecutionService).
  • Secure/encrypted settings count: 0.
  • Database connections count: 0.
  • Custom configuration sections present: Yes — 3 declared applicationSettings sections/groups plus oracle.manageddataaccess.client, DbProviderFactories, and system.diagnostics trace configuration.
  • Runtime-source uncertainty: All 4 Environment API keys have unknown runtime values — no static fallback exists in this library's Web.config/app.config.**

Note: Statements marked with * were inferred from code structure, naming conventions, or contextual evidence where direct confirmation was not available in source artifacts. Statements marked with ** could not be confirmed; treat as unknown until verified.

Sources

  • SAIF.Services.Printing\clsPrint.vb
  • SAIF.Services.Printing\clsRSPrint.vb
  • SAIF.Services.Printing\Reporting\ReportBase.vb
  • SAIF.Services.Printing\Web.config
  • SAIF.Services.Printing\app.config
  • SAIF.Services.Printing\My Project\Settings.Designer.vb
  • SAIF.Services.Printing\SAIF.Services.Printing.vbproj