-
Notifications
You must be signed in to change notification settings - Fork 5
Config File Setup
Johelvis Guzman edited this page Mar 27, 2019
·
18 revisions
If you wish to use the configuration files to configure the repositories, please follow these steps:
Element | Description | Attributes |
---|---|---|
defaultContextFactory | Defines the default repository context factory to use | Type string |
interceptors | Accepts a collection of interceptor elements | |
parameters | Accepts a collection of parameter elements | |
loggingProvider | Defines a logging provider to use | Type string |
cachingProvider | Defines a caching provider to use | Type string |
App.config In order for the repositories to read data from the App.config the user will need to add a custom section handler and a configuration section:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
<section name="repository" type="DotNetToolkit.Repository.Internal.ConfigFile.ConfigurationSection, DotNetToolkit.Repository" />
</configSections>
<repository>
<defaultContextFactory type="DotNetToolkit.Repository.InMemory.Internal.InMemoryRepositoryContextFactory, DotNetToolkit.Repository.InMemory" />
<loggingProvider type="DotNetToolkit.Repository.Configuration.Logging.ConsoleLoggerProvider, DotNetToolkit.Repository">
<parameters>
<parameter value="Debug" type="DotNetToolkit.Repository.Configuration.Logging.LogLevel, DotNetToolkit.Repository" />
</parameters>
</loggingProvider>
<cachingProvider expiry="00:00:30" type="DotNetToolkit.Repository.Extensions.Microsoft.Caching.Memory.InMemoryCacheProvider, DotNetToolkit.Repository.Extensions.Microsoft.Caching.Memory" />
<interceptors>
<interceptor type="DotNetToolkit.Repository.Test.Data.TestRepositoryInterceptor, DotNetToolkit.Repository.Test">
<parameters>
<parameter value="random param" />
<parameter value="True" type="System.Boolean" />
</parameters>
</interceptor>
</interceptors>
</repository>
</configuration>
appsettings.config In order for the repositories to read data from the appsettings.json file the user will need to add a section to the file:
{
"repository": {
"defaultContextFactory": {
"type": "DotNetToolkit.Repository.InMemory.Internal.InMemoryRepositoryContextFactory, DotNetToolkit.Repository.InMemory"
},
"loggingProvider": {
"type": "DotNetToolkit.Repository.Configuration.Logging.ConsoleLoggerProvider, DotNetToolkit.Repository",
"parameters": [
{
"type": "DotNetToolkit.Repository.Configuration.Logging.LogLevel, DotNetToolkit.Repository",
"value": "Debug"
}
]
},
"cachingProvider": {
"type": "DotNetToolkit.Repository.Extensions.Microsoft.Caching.Memory.InMemoryCacheProvider, DotNetToolkit.Repository.Extensions.Microsoft.Caching.Memory",
"expiry": "00:00:30"
},
"interceptors": [
{
"type": "DotNetToolkit.Repository.Test.Data.TestRepositoryInterceptor, DotNetToolkit.Repository.Test",
"parameters": [
{
"type": "System.String",
"value": "random param"
},
{
"type": "System.Boolean",
"value": "True"
}
]
}
]
}
}
Additionally, any element type that is defined in the configuration file can be resolved by using the ConfigurationProvider.SetDefaultFactory.