ASP.NET Core 6 在 Program.cs 中讀取設定檔

之前有寫過幾篇關於設定檔的文章,其中都是在 Controller 中示範讀取設定值內容,不過有時候會需要在程式一啟動時就取得設定值內容,例如在 Program.cs 的時候,要讀取也非常的簡單,本篇來示範取得設定檔中的內容變更 Request Body 大小設定

設定檔:
    
{
  "Basic": {
    "MaxRequestBodySizeMB": 100
  }
}
    

設定檔對應物件:
    
public class BasicOptions
{
    public const string SectionName = "Basic";

    public int MaxRequestBodySizeMB { get; set; } = 10;
}
    

Program.cs
    
var basicOptions = builder.Configuration.GetSection(BasicOptions.SectionName).Get<BasicOptions>();

Console.WriteLine($"MaxRequestBodySize: {basicOptions.MaxRequestBodySizeMB} MB");

builder.WebHost.ConfigureKestrel(serverOptions =>
{
    serverOptions.Limits.MaxRequestBodySize =
        1024 * 1024 * basicOptions.MaxRequestBodySizeMB;
});

var app = builder.Build();
    

延伸閱讀:
ASP.NET Core 6 讀取設定檔(appsettings.json)範例
ASP.NET Core 使用強型別讀取設定檔 appsettings.json 教學
ASP.NET Core 7 啟動時驗證設定檔(appsettings.json)內容
ASP.NET Core 6 使用 yaml 檔案取代預設的 appsettings.json 設定檔

留言