Maison >développement back-end >C++ >Comment lire les valeurs AppSettings à partir d'un fichier JSON dans ASP.NET Core ?
Les sources de configuration externes, comme les fichiers JSON, sont fréquemment utilisées dans le développement Web. ASP.NET Core propose des méthodes robustes pour accéder à ces données, différentes des anciennes versions. Ce guide montre comment récupérer les valeurs AppSettings à partir d'un fichier JSON.
Tout d'abord, créez un fichier Config.json
(par exemple, dans le dossier appsettings
) avec vos paires clé-valeur :
<code class="language-json">{ "AppSettings": { "token": "1234" } }</code>
Ce fichier stocke les données de configuration auxquelles vous accéderez dans votre code.
Dans le fichier Startup.cs
de votre application, configurez le 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>
Pour utiliser ces paramètres dans vos contrôleurs, injectez l'objet 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>
Récupérer la valeur est simple en utilisant le chemin clé "AppSettings:token".
Pour ASP.NET Core 2.0 et versions ultérieures, le modèle Options offre une approche plus structurée.
Définissez une classe représentant votre configuration :
<code class="language-csharp">public class AppSettings { public string Token { get; set; } }</code>
Dans Startup.cs
, configurez et injectez l'objet IOptions<AppSettings>
:
<code class="language-csharp">services.AddOptions<AppSettings>() .Configure<IConfiguration>((settings, configuration) => { configuration.GetSection("AppSettings").Bind(settings); });</code>
Maintenant, dans votre contrôleur :
<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>
Cette méthode offre une sécurité de type et une maintenabilité améliorée par rapport à l'approche précédente. C'est la méthode préférée pour les nouveaux projets ASP.NET Core.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!