첫째, 사용의 기본 program.cs 이미 당신을 위해 구성을 추가
public class Program
{
public static void Main(string[] args)
{
BuildWebHost(args).Run();
}
public static IWebHost BuildWebHost(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseStartup<Startup>()
.Build();
}
두 번째 클래스에 대한 인터페이스를 생성하고 Iconfiguration
필드 만들어 의존성 주입과 구성을 전달합니다
public Test(IConfiguration configuration)
{
Configuration = configuration;
}
그렇게 Dependency Injection
를 사용하기 위해 클래스에 대한 인터페이스를 만듭니다
private readonly IConfiguration Configuration;
다음 생성자로 전달할를 IConfiguration
을 전달하지 않고 인스턴스를 생성 할 수 있습니다.
다음은 클래스 및 인터페이스입니다.
,
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"];
}
}
}
그런 다음 startup.cs에 호출하여 클래스에 대한 Dependency Injection
를 구현 :
services.AddSingleton< ITest, Test>();
당신의 ConfigureServices
방법에 지금
당신이 Dependency Injection
너무
으로 사용하기 위해 클래스에 클래스 인스턴스를 전달할 수 있습니다
예를 들어 ExampleController
에 수업을 사용하려면 다음을 수행하십시오.
private readonly ITest _test;
public ExampleController(
ITest test
)
{
_test = test;
}
이제 컨트롤러의 어느 위치에서나 액세스 할 수있는 _test 인스턴스가 있습니다.
가능한 복제본 https://stackoverflow.com/questions/46632090/mvc-core-2-0-how-to-use-an-appsettings-json-file-via-configuration/46632521#46632521 – anserk
이 설명서 MS에서 그것을 설명하는 방법 => https://docs.microsoft.com/en-us/aspnet/core/fundamentals/configuration?tabs=basicconfiguration – CodeNotFound
하지만 사용자 정의 클래스에서 읽을 필요가, 예 컨트롤러 및 나는 피난처에 있습니다. 몇 가지 옵션을 시도했습니다. .Net 표준에서 사용 된'string userName = System.Configuration.ConfigurationManager.AppSettings [ "PFUserName"];'.Net 코어의 동등한 @codeNotFound를 읽으려는 경우 –