Ich bin neu in ASP.NET Core und brauche eine gewisse Richtung. Ich versuche, ein einfaches Szenario mit der Verwendung von App-Einstellungen in ASP.NET Core, während auch Simple Injector verwenden.Wie verwende ich ASP.NET Core App-Einstellungen mit einfachem Injektor
Ich habe zuerst meine Strongly-Type Konfigurationseinstellungen wie erklärt here von Rick Strahl. Das funktioniert großartig.
public class MySettings
{
public string ApplicationName { get; set; }
}
appsetting.json
{
"Logging": {
"IncludeScopes": false,
"LogLevel": {
"Default": "Debug",
"System": "Information",
"Microsoft": "Information"
}
},
"MySettings": {
"ApplicationName": "Test Service"
}
}
Startup.cs
public void ConfigureServices(IServiceCollection services)
{
// Add framework services.
services.AddMvc();
// Add Options
services.AddOptions();
// Add our Config object so it can be injected
services.Configure<MySettings>(Configuration.GetSection("MySettings"));
services.AddSingleton(GetTestBroker(container));
//Simple Injector
//services.AddSingleton<IControllerActivator>(new SimpleInjectorControllerActivator(container));
//services.AddSingleton<IViewComponentActivator>(new SimpleInjectorViewComponentActivator(container));
}
In unseren anderen Projekten wurden, werden über das Simple Injector für DI. Nachdem ich das Simple Injector-Paket hinzugefügt und es gemäß den Anweisungen konfiguriert habe, sehe ich, dass meine IOptions-Konfiguration abbricht.
Was würde ich gerne wissen, was wäre die beste Vorgehensweise für die Implementierung einer Konfiguration in ASP.NET Core und die Verwendung einer anderen DI-Bibliothek wie Simple Injector zusammen?
Die beste Praxis der Arbeit mit ioptions müssen, ist hier beschrieben: https://github.com/simpleinjector/SimpleInjector/issues/143#issuecomment-155029876 – Steven
Ich werde ein Blick. – Eric
@Steven Nachdem ich diesen Artikel angeschaut habe, sieht es so aus, als ob ich IOptionen komplett verwerfen würde. Dann registrieren Sie Ihr POCO einfach als Singleton in Ihrem DI-Container. Hast du damit angefangen? – Eric