Je suis passé par documentation de configuration sur ASP.NET core. La documentation indique que vous pouvez accéder à la configuration depuis n'importe quel endroit de l'application.
Voici le fichier Startup.cs créé par le modèle
public class Startup
{
public Startup(IHostingEnvironment env)
{
var builder = new ConfigurationBuilder()
.SetBasePath(env.ContentRootPath)
.AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
.AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true);
if (env.IsEnvironment("Development"))
{
// This will push telemetry data through Application Insights pipeline faster, allowing you to view results immediately.
builder.AddApplicationInsightsSettings(developerMode: true);
}
builder.AddEnvironmentVariables();
Configuration = builder.Build();
}
public IConfigurationRoot Configuration { get; }
// This method gets called by the runtime. Use this method to add services to the container
public void ConfigureServices(IServiceCollection services)
{
// Add framework services.
services.AddApplicationInsightsTelemetry(Configuration);
services.AddMvc();
}
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
loggerFactory.AddConsole(Configuration.GetSection("Logging"));
loggerFactory.AddDebug();
app.UseApplicationInsightsRequestTelemetry();
app.UseApplicationInsightsExceptionTelemetry();
app.UseMvc();
}
}
Ainsi, en Startup.cs
nous configurons tous les paramètres, Startup.cs a également une propriété nommée Configuration
Ce que je n'arrive pas à comprendre, c'est comment accéder à cette configuration dans le contrôleur ou n'importe où dans l'application ? MS recommande d'utiliser schéma des options mais je n'ai que 4 ou 5 paires clé-valeur et j'aimerais ne pas utiliser le modèle d'options. Je veux juste avoir accès à la configuration dans l'application. Comment puis-je l'injecter dans n'importe quelle classe ?
1 votes
S'il s'agit de 4-5 paires clé-valeur, vous pouvez simplement injecter ces paramètres individuels. Je recommande cette approche ou le modèle des options pour des raisons de testabilité. Les trois méthodes (y compris celle que vous avez demandée à l'origine) sont listées comme réponses dans la question suivante, qui peut être dupliquée : stackoverflow.com/questions/30263681/
0 votes
Pour accéder à la configuration sous forme de dictionnaire depuis n'importe où, vérifier cette réponse .
0 votes
Vérifiez ici pour un exemple de code complet.
0 votes
Si vous venez ici Si vous avez du mal à convertir une configuration Framework en configuration CORE, cette réponse est pour vous. stackoverflow.com/a/56498687/1704458