Using .NET Core 6 dependency injection I have code in Program.cs looking like this
...
IConfigurationBuilder configuration = new ConfigurationBuilder();
configuration.SetBasePath(Directory.GetCurrentDirectory());
var host = Host.CreateDefaultBuilder()
.ConfigureServices((context, services) =>
{
services.AddSingleton<IFileLogging, FileLogging>();
}).Build();
logging = ActivatorUtilities.GetServiceOrCreateInstance<IFileLogging>(host.Services);
logging.Debug(log4net, "Starting up...");
Console.ReadLine();
It works nicely. I get a reference to a singleton for the interface IFileLogging.
Now I'm wondering if there is a way to perform the configuration in an external json file, i.e. moving the line
services.AddSingleton<IFileLogging, FileLogging>();
to a separate json file, i.e. something along the lines
{
"components": [
{
"type": "DITest.Default_DI_Namespace.FileLogging, DITest",
"services": [
{
"type": "DITest.Default_DI_Namespace.IFileLogging, DITest"
}
],
"instanceScope": "single-instance",
"injectProperties": true
}
]
}
I assume that I need to configure my services to get the information from file, but I don't know how.
If anyone has an idea I would be most grateful.
King regards
Magnus
What I have tried:
I've Googled quite a lot, but mostly found how to read settings from appsettings.json for getting data.
Example[
^]