Click or drag to resize

IConfigurationManager Interface

Contract for service implementations that manage the core SanteDB configuration

Namespace:  SanteDB.Core.Services
Assembly:  SanteDB.Core.Api (in SanteDB.Core.Api.dll) Version: 2.2.1
Syntax
public interface IConfigurationManager : IServiceImplementation

The IConfigurationManager type exposes the following members.

Properties
  NameDescription
Public propertyConfiguration
Get the entirety of the SanteDB configuration
Public propertyServiceName
Gets the service name
(Inherited from IServiceImplementation.)
Top
Methods
  NameDescription
Public methodGetAppSetting
Gets the specified application setting
Public methodGetConnectionString
Get the specified connection string to a database
Public methodGetSectionT
Get the specified configuration section
Public methodReload
Forces the configuration manager to reload the current configuration
Public methodSetAppSetting
Set the specified application setting
Top
Remarks

SanteDB plugins are expected to be portable and can run on a variety of platforms, in a variety of deployments, and a variety of environments. This necessitates a consistent manner to manage configuration data for the SanteDB services. The IConfigurationManager is responsible for this duty. Example implementations of this service may include:

  • Loading configuration from a file stored on a local file system
  • Loading configuration from a shared document-based database (for distributed configurations)
  • Loading configuration from environment variables or synthesization classes (like in Docker)
  • Loading/chaining configuration from another or central iCDR instance

By default, the SanteDB iCDR and dCDR will use an XML or JSON file to store the configuration information, however the SanteDBConfiguration class can be shared on any number of transports.

See Also