如何從 ASP.NET Core 中的 JSON 檔案讀取 AppSettings 值?
Jan 23, 2025 am 04:35 AM在 ASP.NET Core 中從 JSON 存取設定資料:實用指南
外部設定源,例如 JSON 文件,在 Web 開發中經常使用。 與舊版本不同,ASP.NET Core 提供了存取此資料的強大方法。本指南示範如何從 JSON 檔案檢索 AppSettings 值。
設定設定檔
首先,使用您的鍵值對建立一個 Config.json
檔案(例如,在 appsettings
資料夾中):
{ "AppSettings": { "token": "1234" } }
登入後複製
此檔案儲存您將在程式碼中存取的設定資料。
將 JSON 配置整合到您的應用程式中
在應用程式的 Startup.cs
檔案中,設定 ConfigurationBuilder
:
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 }
登入後複製
透過依賴注入存取控制器中的設定
要在控制器中使用這些設置,請注入 IConfiguration
物件:
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); } }
登入後複製
使用鍵路徑「AppSettings:token」檢索值非常簡單。
增強方法:選項模式(建議用於 ASP.NET Core 2.0)
對於 ASP.NET Core 2.0 及更高版本,選項模式提供了一種更結構化的方法。
定義一個代表您的配置的類別:
public class AppSettings { public string Token { get; set; } }
登入後複製
在Startup.cs
中,配置並注入IOptions<AppSettings>
物件:
services.AddOptions<AppSettings>() .Configure<IConfiguration>((settings, configuration) => { configuration.GetSection("AppSettings").Bind(settings); });
登入後複製
現在,在你的控制器中:
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); } }
登入後複製
與先前的方法相比,此方法提供了類型安全性並提高了可維護性。 這是較新的 ASP.NET Core 專案的首選方法。
以上是如何從 ASP.NET Core 中的 JSON 檔案讀取 AppSettings 值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱門文章
倉庫:如何復興隊友
3 週前
By 尊渡假赌尊渡假赌尊渡假赌
擊敗分裂小說需要多長時間?
3 週前
By DDD
Hello Kitty Island冒險:如何獲得巨型種子
3 週前
By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 週前
By 尊渡假赌尊渡假赌尊渡假赌
公眾號網頁更新緩存難題:如何避免版本更新後舊緩存影響用戶體驗?
3 週前
By 王林

熱門文章
倉庫:如何復興隊友
3 週前
By 尊渡假赌尊渡假赌尊渡假赌
擊敗分裂小說需要多長時間?
3 週前
By DDD
Hello Kitty Island冒險:如何獲得巨型種子
3 週前
By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 週前
By 尊渡假赌尊渡假赌尊渡假赌
公眾號網頁更新緩存難題:如何避免版本更新後舊緩存影響用戶體驗?
3 週前
By 王林

熱門文章標籤

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)