JSON 파일과 같은 외부 구성 소스는 웹 개발에 자주 사용됩니다. ASP.NET Core는 이전 버전과 달리 이 데이터에 액세스하기 위한 강력한 방법을 제공합니다. 이 가이드는 JSON 파일에서 AppSettings 값을 검색하는 방법을 보여줍니다.
먼저 키-값 쌍을 사용하여 Config.json
파일(예: appsettings
폴더 내)을 만듭니다.
<code class="language-json">{ "AppSettings": { "token": "1234" } }</code>
이 파일은 코드에서 액세스할 구성 데이터를 저장합니다.
애플리케이션의 Startup.cs
파일 내에서 ConfigurationBuilder
:
<code class="language-csharp">public class Startup { public IConfiguration Configuration { get; } public Startup(IHostingEnvironment env) { var builder = new ConfigurationBuilder() .SetBasePath(env.ContentRootPath) .AddJsonFile("appsettings/Config.json", optional: true, reloadOnChange: true); Configuration = builder.Build(); } // ... rest of your Startup class }</code>
컨트롤러에서 이러한 설정을 사용하려면 IConfiguration
개체를 삽입하세요.
<code class="language-csharp">public class HomeController : Controller { private readonly IConfiguration _configuration; public HomeController(IConfiguration configuration) { _configuration = configuration; } public IActionResult Index() { var token = _configuration["AppSettings:token"]; return View(token); } }</code>
키 경로 "AppSettings:token"을 사용하면 값을 검색하는 것이 간단합니다.
ASP.NET Core 2.0 이상의 경우 옵션 패턴은 보다 구조화된 접근 방식을 제공합니다.
구성을 나타내는 클래스를 정의합니다.
<code class="language-csharp">public class AppSettings { public string Token { get; set; } }</code>
Startup.cs
에서 IOptions<AppSettings>
개체를 구성하고 삽입합니다.
<code class="language-csharp">services.AddOptions<AppSettings>() .Configure<IConfiguration>((settings, configuration) => { configuration.GetSection("AppSettings").Bind(settings); });</code>
이제 컨트롤러에서:
<code class="language-csharp">public class HomeController : Controller { private readonly IOptions<AppSettings> _appSettings; public HomeController(IOptions<AppSettings> appSettings) { _appSettings = appSettings; } public IActionResult Index() { var token = _appSettings.Value.Token; return View(token); } }</code>
이 방법은 이전 접근 방식에 비해 유형 안전성과 향상된 유지 관리성을 제공합니다. 최신 ASP.NET Core 프로젝트에 선호되는 방법입니다.
위 내용은 ASP.NET Core의 JSON 파일에서 AppSettings 값을 읽는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!