Skip to content

Configuration settings

SAIF.Framework.Validation reads eight settings through two retrieval methods: IEnvironmentService for environment-scoped values such as the rule set directory and cache behavior, and ConfigurationManager.AppSettings for the two switches that consuming applications override per deployment. One value, the rule set signing key, is retrieved through the secure configuration path because it is stored encrypted. All settings are read by RuleSetLoader or ValidationEngine on first use rather than at assembly load.

Configuration retrieval methods

Method Class / Interface Namespace Usage pattern
GetConfigSetting IEnvironmentService SAIF.Framework.Core.Environment Called by RuleSetLoader.EnsureConfigured with the setting key; returns the environment-specific string value.
GetSecureConfigSetting IEnvironmentService SAIF.Framework.Core.Environment Called by RuleSetLoader.VerifySignature for encrypted values; decryption happens inside the environment service.
AppSettings ConfigurationManager System.Configuration Read directly by ValidationEngine.Validate through ConfigurationManager.AppSettings("key") with a code default when absent.

Environment API settings

Settings retrieved via IEnvironmentService (centralized environment configuration service).

Setting key Method Data type Purpose Consuming class Source
Validation.RuleSetPath GetConfigSetting String Directory containing the rule set XML files loaded at first evaluation. RuleSetLoader src/SAIF.Framework.Validation/RuleSetLoader.vb
Validation.RuleSetCacheMinutes GetConfigSetting Integer Minutes a parsed rule set stays cached before it is re-read from disk. RuleSetLoader src/SAIF.Framework.Validation/RuleSetLoader.vb
Validation.DefaultJurisdiction GetConfigSetting String Jurisdiction code applied when the calling application supplies no value in IValidationContext. ValidationEngine src/SAIF.Framework.Validation/ValidationEngine.vb
Validation.TraceEvaluationTiming GetConfigSetting Boolean Enables per-rule timing entries in the framework trace log for performance investigation. ValidationEngine src/SAIF.Framework.Validation/ValidationEngine.vb

AppSettings (Web.config)

Settings retrieved via ConfigurationManager.AppSettings.

Setting key Default value Purpose Consuming class Source
Validation.TreatWarningsAsFailures false Promotes warning-severity results to blocking failures for deployments that require strict intake. ValidationEngine src/SAIF.Framework.Validation/ValidationEngine.vb
Validation.MaxFailuresReturned 100 Caps the number of failures returned in a single ValidationResult to bound batch error log size. ValidationEngine src/SAIF.Framework.Validation/ValidationEngine.vb
Validation.RequireSignedRuleSets true Requires a valid rule set signature before a rule set is loaded outside development environments. RuleSetLoader src/SAIF.Framework.Validation/RuleSetLoader.vb

Secure settings

Settings that require decryption or credential retrieval.

Setting key Encryption method Purpose Consuming class Source
Validation.RuleSetSigningKey DPAPI-protected configuration section, decrypted by IEnvironmentService Verifies the signature on rule set XML files so unreviewed rule changes cannot be loaded. RuleSetLoader src/SAIF.Framework.Validation/RuleSetLoader.vb

Transitive configuration (from dependencies)

Settings required at runtime by referenced libraries or packages, not directly consumed by this library's code.

Setting key Method Source dependency Dependency type Purpose
Framework.TraceListenerName GetConfigSetting SAIF.Framework.Core NuGet Selects the trace listener that ValidationComponentBase.WriteTrace writes component trace entries to.
Framework.EnvironmentName GetConfigSetting SAIF.Framework.Core NuGet Identifies the deployment environment used to resolve every other environment-scoped setting.

Configuration dependencies

Dependency Type Required at Impact if missing
IEnvironmentService service Runtime, on first rule set load RuleSetLoader.EnsureConfigured raises FrameworkNotInitializedException and no rule set can be evaluated.
Rule set XML directory file Runtime, on first rule set load RuleSetNotFoundException is raised on the first call to Validate; SAIF.PremiumAudit.Batch aborts the run rather than processing unvalidated records.
Encrypted configuration section section Startup Signature verification cannot run; with Validation.RequireSignedRuleSets set to true, every rule set load fails.
appSettings section section Runtime, per evaluation Code defaults apply: warnings stay advisory, the failure cap stays at 100, and signed rule sets remain required.

Sources

  • src/SAIF.Framework.Validation/RuleSetLoader.vb
  • src/SAIF.Framework.Validation/ValidationEngine.vb
  • src/SAIF.Framework.Validation/SAIF.Framework.Validation.vbproj
  • src/SAIF.Framework.Validation/App.config