Configure
์๋ฏธ
์ ํ๋ฆฌ์ผ์ด์ ์์ ํ๊ฒฝ์ค์ ๊ฐ(ํ๊ฒฝ๋ณ์)๋ค๋ก ์ฌ์ฉํ๊ณ ์ถ์ ๊ฒ๋ค์ 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"
์ฐธ๊ณ ๋ฌธํ
Last updated