Erstens: Verwenden Sie die Standard Program.cs fügt bereits Konfiguration für Sie:
public class Program
{
public static void Main(string[] args)
{
BuildWebHost(args).Run();
}
public static IWebHost BuildWebHost(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseStartup<Startup>()
.Build();
}
Zweitens eine Schnittstelle für Ihre Klasse erstellen und die Konfiguration mit Dependency Injection passieren, indem Iconfiguration
Feld:
private readonly IConfiguration Configuration;
dann vorbei contructor:
public Test(IConfiguration configuration)
{
Configuration = configuration;
}
eine Schnittstelle erstellen für Ihre Klasse, um Dependency Injection
so zu verwenden, Sie können, ohne dass Instanzen davon erstellen IConfiguration
es
Hier ist die Klasse und Interface sind weitergeben müssen:
using Microsoft.Extensions.Configuration;
namespace GetUserIdAsyncNullExample
{
public interface ITest
{
void Method();
}
public class Test : ITest
{
public Test(IConfiguration configuration)
{
Configuration = configuration;
}
private readonly IConfiguration Configuration;
public void Method()
{
string here = Configuration["placeto:login"];
}
}
}
Dann in Ihrem startup.cs implementieren Dependency Injection
für Ihre Klasse durch den Aufruf:
services.AddSingleton< ITest, Test>();
in Ihrer ConfigureServices
Methode
jetzt können Sie Ihre Klassen zu jeder Klasse vorbei Dependency Injection
verwenden zu
zum Beispiel, wenn Sie ExampleController
haben, dass Sie Ihre Klasse verwenden möchten, tun Sie folgendes:
private readonly ITest _test;
public ExampleController(
ITest test
)
{
_test = test;
}
Und jetzt haben Sie _test-Instanz, um überall in Ihrem Controller zugreifen.
Mögliches Duplikat von https://stackoverflow.com/questions/46632090/mvc-core-2-0-how-to-use-an-appsettings-json-file-via-configuration/46632521#46632521 – anserk
Diese Dokumentation von MS erklären, wie man => https://docs.microsoft.com/en-us/aspnet/core/fundamentals/configuration?tabs=basicconfiguration – CodeNotFound
, aber ich brauche lesen in benutzerdefinierte Klasse, das Beispiel ist in Controllern und ich habe habe verschiedene Möglichkeiten ausprobiert. im .Net-Standard verwendet 'string userName = System.Configuration.ConfigurationManager.AppSettings [" PFUserName "];' zum Lesen von web.config, in .Net-Kern, der äquivalent ist @CodeNotFound –