Click or drag to resize

IConfig Interface

Provide an access to the configuration.

Namespace:  AskiaPortalCmn.Configuration
Assembly:  AskiaPortalCmn (in AskiaPortalCmn.dll) Version: 1.7.0-build068
Syntax
public interface IConfig : IEnumerable<IConfigItem>, 
	IEnumerable

The IConfig type exposes the following members.

Properties
Methods
  NameDescription
Public methodApplyRecordedChanges
Save configuration item that has been changed since the initialization, and reload the configuration in order to make the changes visible.
Public methodCode exampleContains
Indicates if the specified item is contains in the configuration of the specified module.
Public methodFindAllReferences(ValueReference, Guid)
Get the list of configuration item that refers to the specified item.
Public methodFindAllReferences(ValueReference, Int32)
Get the list of configuration item that refers to the specified item.
Public methodGetEnumerator
Returns an enumerator that iterates through the collection.
(Inherited from IEnumerableIConfigItem.)
Public methodRecordChange(IContext, ConfigKey, Boolean)
Record a new value for the specified configuration item.
It will not apply the change in the configuration, nor save in the database unless you explicitly call the ApplyRecordedChanges(IContext) method.
Public methodRecordChange(IContext, ConfigKey, Double)
Record a new value for the specified configuration item.
It will not apply the change in the configuration, nor save in the database unless you explicitly call the ApplyRecordedChanges(IContext) method.
Public methodRecordChange(IContext, ConfigKey, Guid)
Record a new value for the specified configuration item.
It will not apply the change in the configuration, nor save in the database unless you explicitly call the ApplyRecordedChanges(IContext) method.
Public methodRecordChange(IContext, ConfigKey, Int32)
Record a new value for the specified configuration item.
It will not apply the change in the configuration, nor save in the database unless you explicitly call the ApplyRecordedChanges(IContext) method.
Public methodRecordChange(IContext, ConfigKey, String)
Record a new value for the specified configuration item.
It will not apply the change in the configuration, nor save in the database unless you explicitly call the ApplyRecordedChanges(IContext) method.
Public methodRecordChange(IContext, String, Boolean, NullableGuid)
Record a new value for the specified configuration item.
It will not apply the change in the configuration, nor save in the database unless you explicitly call the ApplyRecordedChanges(IContext) method.
Public methodRecordChange(IContext, String, Double, NullableGuid)
Record a new value for the specified configuration item.
It will not apply the change in the configuration, nor save in the database unless you explicitly call the ApplyRecordedChanges(IContext) method.
Public methodRecordChange(IContext, String, Guid, NullableGuid)
Record a new value for the specified configuration item.
It will not apply the change in the configuration, nor save in the database unless you explicitly call the ApplyRecordedChanges(IContext) method.
Public methodRecordChange(IContext, String, Int32, NullableGuid)
Record a new value for the specified configuration item.
It will not apply the change in the configuration, nor save in the database unless you explicitly call the ApplyRecordedChanges(IContext) method.
Public methodRecordChange(IContext, String, String, NullableGuid)
Record a new value for the specified configuration item.
It will not apply the change in the configuration, nor save in the database unless you explicitly call the ApplyRecordedChanges(IContext) method.
Public methodReload
Reload the configuration using the current database values.
Top
Remarks

Singleton object, use the GetInstance to instantiate it.

It open the AskiaPortal.config store in ProgramData\AskiaPortal folder.

Examples

The content of the config file should looks like this:

<configuration version="1.0"><askiaportalcmn><settings key="mainDatabase" value="Data Source=[SERVER];Initial Catalog=AskiaPortal;Persist Security Info=True;User ID=[USER_ID];Password=[PASSWORD];" /><settings key="testDatabase" value="Data Source=[SERVER];Initial Catalog=AskiaPortalTest;Persist Security Info=True;User ID=[USER_ID];Password=[PASSWORD];" /></askiaportalcmn></configuration>
Examples

Basic usage:

using AskiaPortalCmn.Configuration;

// ...
var config = Config.GetInstance();
Console.WriteLine("The path of the AskiaPortal configuration directory is `{0}`", config.RootPath);
Console.WriteLine("The connection string of the main database (AskiaPortal) is `{0}`", config.MainDatabase);
See Also