๐ŸชŸ
ASP.NET Core
WebAPI ServerASP.NET CoreMain Subject
  • Intro
  • Program.cs
  • Dependency Injection
  • Host
  • MVC
  • Middleware
  • Model Binding
  • Controller
  • Configure
  • Logging
  • Library
    • WebApplicationzBuilder
  • Example Code
    • basic01
    • basic02
    • basic03
    • basic04
    • basic05
    • basic06
    • basic07
Powered by GitBook
On this page
  • ์˜๋ฏธ
  • ์‚ฌ์šฉ
  • ๊ฐ’ ์ €์žฅ
  • ํ”„๋กœ๊ทธ๋žจ ์•ˆ์— ๋ฐ์ดํ„ฐ ๋„ฃ๊ธฐ
  • ์›ํ•˜๋Š” ๊ฐ’ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ
  • ์ฐธ๊ณ ๋ฌธํ—Œ

Configure

PreviousControllerNextLogging

Last updated 1 year ago

์˜๋ฏธ

  • ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ํ™˜๊ฒฝ์„ค์ • ๊ฐ’(ํ™˜๊ฒฝ๋ณ€์ˆ˜)๋“ค๋กœ ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ์€ ๊ฒƒ๋“ค์„ JSON ํ˜•ํƒœ๋กœ ์ €์žฅํ•ด๋†“๊ณ , ๊ทธ ํŒŒ์ผ์˜ ๋‚ด์šฉ์„ ํ”„๋กœ๊ทธ๋žจ ์•ˆ์œผ๋กœ ๋ฐ์ดํ„ฐํ™”ํ•ด์„œ ๊ฐ€์ ธ์˜ค๋Š” ๊ฒƒ

  • ํ™˜๊ฒฝ๋ณ€์ˆ˜ ๋ชจ์Œ์ด๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ์„ ๋“ฏ

  • docker-compose์˜ .ENV file ๊ณผ ์œ ์‚ฌํ•œ ์—ญํ• 

์‚ฌ์šฉ

๊ฐ’ ์ €์žฅ

  • ์›ํ•˜๋Š” ๋‚ด์šฉ์„ appsetting.{Environment}.json ํŒŒ์ผ์— json ํ˜•์‹์— ๋งž์ถฐ์„œ ํ”„๋กœ์ ํŠธ์˜ ๋ฃจํŠธ ๊ฒฝ๋กœ์— ์ €์žฅํ•˜๋ฉด ๋จ (๊ธฐ๋ณธ์ ์œผ๋กœ appsetting.json ํŒŒ์ผ์ด ๋งŒ๋“ค์–ด์ ธ ์žˆ์Œ)

  • ApplicationBuilder๋กœ .Build()ํ•˜๋ฉด, app.Configuration์— appsetting.json ํŒŒ์ผ์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ์ €์žฅ๋ผ์žˆ์Œ

ํ”„๋กœ๊ทธ๋žจ ์•ˆ์— ๋ฐ์ดํ„ฐ ๋„ฃ๊ธฐ

  • IConfiguration์ด๋ผ๋Š” ์ธํ„ฐํŽ˜์ด์Šค๋กœ ๋ฐ›์•„์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Œ

    var app = builder.Build();
    IConfiguration configuration = app.Configuration; // ์ด ์•ˆ์— ๋ฐ์ดํ„ฐ๊ฐ€ ๋‹ด๊ฒจ์žˆ๊ณ , ๊บผ๋‚ด์„œ ์“ธ ์ˆ˜ ์žˆ์Œ

    (appsetting.json ๋ฉ์–ด๋ฆฌ๊ฐ€ ๋จ)

  • ํ”„๋กœ๊ทธ๋žจ์ด ๋นŒ๋“œ๋  ๋•Œ, ์›ํ•˜๋Š” appsetting.{Environment}.jsonํŒŒ์ผ ์„ค์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•

    • IHostingEnvironment.EnvironmentName ์˜ ๊ฐ’์„ ์ฐธ์กฐํ•œ๋‹ค๊ณ  ํ•จ(using Microsoft.Extensions.Hosting)

์›ํ•˜๋Š” ๊ฐ’ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ

  • key = value ์Œ์œผ๋กœ ์ฐธ์กฐํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋ ˆ์ด์–ด๋Š” ์ฝœ๋ก  ':' ์„ ํ†ตํ•ด ๋“ค์–ด๊ฐˆ ์ˆ˜ ์žˆ์Œ

  • Configuration["key"] -> ํ•ด๋‹นํ•˜๋Š” value๊ฐ€ ๋ฆฌํ„ด๋จ

    // JSON
    {
        "Position": {
            "Title": "Editor",
            "Name": "Joe Smith"
        },
        "MyKey": "My appsettings.json Value",
        "Logging": {
            "LogLevel": {
                "Default": "Information",
                "Microsoft": "Warning",
                "Microsoft.Hosting.Lifetime": "Information"
            }
        },
        "AllowedHosts": "*"
    }
    // C#
    var builder = WebApplication.CreateBuilder(args);
    var app = builder.Build(); // Build()ํ•˜๋ฉด ๋‚ด๋ถ€์ ์œผ๋กœ Configuration๋„ ์•Œ์•„์„œ ๊ฐ€์ ธ์˜ด
    IConfiguration Configuration = app.Configuration;
    
    var myKeyValue = Configuration["MyKey"]; // "My appsettings.json Value"
    var title = Configuration["Position:Title"]; // "Editor"
    var name = Configuration["Position:Name"]; // "Joe Smith"
    var defaultLogLevel = Configuration["Logging:LogLevel:Default"]; // "Information"

์ฐธ๊ณ ๋ฌธํ—Œ

MS Docs