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: 3.0.2081-alpha+b4ae72647f2cc271f89142f76fff26ad69e00f5a
Syntax
public interface IConfigurationManager : IServiceImplementation

The IConfigurationManager type exposes the following members.

Properties
 NameDescription
Public propertyConfiguration Get the entirety of the SanteDB configuration
Public propertyIsReadonly True if the configuration manager is readonly
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 methodSaveConfiguration Save the configuration
Public methodSetAppSetting Set the specified application setting
Public methodSetTransientConnectionString Adds a connection string only for the lifetime of the server
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