外部設定源,例如 JSON 文件,在 Web 開發中經常使用。 與舊版本不同,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中文網其他相關文章!