Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

1.2K
Vistas
ASP.NET Core 6 cómo acceder a la configuración durante el inicio

En versiones anteriores, teníamos la clase Startup.cs y obteníamos el objeto de configuración de la siguiente manera en el archivo de inicio .

 public class Startup { private readonly IHostEnvironment environment; private readonly IConfiguration config; public Startup(IConfiguration configuration, IHostEnvironment environment) { this.config = configuration; this.environment = environment; } public void ConfigureServices(IServiceCollection services) { // Add Services } public void Configure(IApplicationBuilder app, IWebHostEnvironment env) { // Add Middlewares } }

Ahora en .NET 6 (con Visual Studio 2022), no vemos la clase Startup.cs . Parece que sus días están contados. Entonces, ¿cómo obtenemos estos objetos como Configuración (IConfiguración) y Entorno de alojamiento (IHostEnvironment)?

¿Cómo obtenemos estos objetos, por ejemplo, leer la configuración de appsettings? Actualmente, el archivo Program.cs tiene este aspecto.

 using Festify.Database; using Microsoft.EntityFrameworkCore; var builder = WebApplication.CreateBuilder(args); // Add services to the container. builder.Services.AddRazorPages(); builder.Services.AddDbContext<FestifyContext>(); //////////////////////////////////////////////// // The following is Giving me error as Configuration // object is not avaible, I dont know how to inject this here. //////////////////////////////////////////////// builder.Services.AddDbContext<FestifyContext>(opt => opt.UseSqlServer( Configuration.GetConnectionString("Festify"))); var app = builder.Build(); // Configure the HTTP request pipeline. if (!app.Environment.IsDevelopment()) { app.UseExceptionHandler("/Error"); // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts. app.UseHsts(); } app.UseHttpsRedirection(); app.UseStaticFiles(); app.UseRouting(); app.UseAuthorization(); app.MapRazorPages(); app.Run();

Quiero saber cómo leer la configuración de appsettings.json.

over 4 years ago · Santiago Trujillo
6 Respuestas
Responde la pregunta

0

Todo lo que necesita es agregar "constructor". antes de su configuración

Me gusta:

 builder.Services.AddDbContext<FestifyContext>(opt =>opt.UseSqlServer(builder.Configuration.GetConnectionString("Festify")));
over 4 years ago · Santiago Trujillo Denunciar

0

Los siguientes códigos me funcionaron:

Programa.cs:

 var builder = WebApplication.CreateBuilder(args); string connString = builder.Configuration.GetConnectionString("conStr"); ConnectionString = connString; ... partial class Program { public static string? ConnectionString { get; private set; } } calling class: string cnStr = Program.ConnectionString;
over 4 years ago · Santiago Trujillo Denunciar

0

En Program.cs , WebApplicationBuilder se crea como se muestra a continuación.

 var builder = WebApplication.CreateBuilder(args);

Una vez que tenemos el constructor creado, la configuración está disponible.

Supongamos que tiene el appSettings.json predeterminado en su lugar. El siguiente código de ejemplo devolvería la configuración del nivel de registro predeterminado del archivo de configuración JSON.

 builder.Configuration["Logging:LogLevel:Default"] // returns "Warning"

Una vez que la aplicación se está ejecutando, puede acceder a los ajustes de Configuración a través de la inserción de dependencias en otras clases de su aplicación.

 public MyClass(IConfiguration configuration) { var logLevel = configuration["Logging:LogLevel:Default"]; }

Una buena característica que vale la pena considerar es crear una clase que represente su configuración y luego vincular la configuración a una instancia de ese tipo de clase. Por ejemplo, supongamos que crea una nueva clase llamada MyAppSettings con la misma estructura que su appSettings.json , puede hacer lo siguiente:

 var myAppSettings = builder.Configuration.Get<MyAppSettings>(); string logLevel = myAppSettings.Logging.LogLevel.Default;
over 4 years ago · Santiago Trujillo Denunciar

0

Esto funcionó para mí ---

 // Read in from JSON file builder.Services.Configure<ConnectionKeys>(builder.Configuration.GetSection("ConnectionKeys"));
over 4 years ago · Santiago Trujillo Denunciar

0

.NET 6 ya proporciona un objeto de construcción en Program.cs

 var builder = WebApplication.CreateBuilder(args);

Simplemente use este generador para acceder a la configuración y el entorno como ejemplo para obtener ConnectionString de app.settings.cs de la siguiente manera:

 builder.Services.AddDbContext<DataContext>( options => { options.UseSqlServer(builder.Configuration.GetConnectionString("DefaultConnectiion")); });
over 4 years ago · Santiago Trujillo Denunciar

0

WebApplicationBuilder devuelto por WebApplication.CreateBuilder(args) expone las propiedades de Configuration y Environment :

 var builder = WebApplication.CreateBuilder(args); // Add services to the container. ... ConfigurationManager configuration = builder.Configuration; IWebHostEnvironment environment = builder.Environment;

La aplicación web devuelta por WebApplication WebApplicationBuilder.Build() también expone la Configuration y el Environment :

 var app = builder.Build(); IConfiguration configuration = app.Configuration; IWebHostEnvironment environment = app.Environment;

Consulte también la guía de migración y los ejemplos de código .

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda