Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

293
Views
¿Cómo agregar un proveedor en startup.cs sin sobrescribir todos los proveedores preexistentes?

Vi código para agregar un proveedor (digamos que el método de extensión para agregar este proveedor se llama AddXXX) en startup.cs:

 public Startup(IHostingEnvironment env) { var builder = new ConfigurationBuilder() // have to do tedious setup which can be done by program.cs .SetBasePath(env.ContentRootPath) .AddJsonFile("appsettings.json", optional: false, reloadOnChange: true) .AddEnvironmentVariables(); if (env.IsDevelopment()) { builder.AddXXX(); } Configuration = builder.Build(); ... // setup other middlewares }

Pero teniendo en cuenta que ya hemos usado un hostbuilder predeterminado en program.cs:

 public class Program { public static void Main(string[] args) { CreateHostBuilder(args).Build().Run(); } public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args) .ConfigureWebHostDefaults(webBuilder => { webBuilder.UseStartup<Startup>(); }); }

No quiero volver a configurar ConfigurationBuilder, lo cual es bastante tedioso, por ejemplo, agregar el proveedor de archivos json que CreateDefaultBuilder ya agregó, por lo que creo que la forma más eficiente es agregar el proveedor en program.cs como:

 public class Program { public static void Main(string[] args) { CreateHostBuilder(args).Build().Run(); } public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args) .ConfigureAppConfiguration((hostingContext, config) => { if (hostingContext.HostingEnvironment.IsDevelopment()) { config.AddXXX(); } }) .ConfigureWebHostDefaults(webBuilder => { webBuilder.UseStartup<Startup>(); }); }

¿Es correcto mi pensamiento?

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

desde aquí

... los siguientes tipos de servicios se pueden inyectar en el constructor de inicio cuando se usa el host genérico (IHostBuilder):

  • IWebHostEnvironment
  • IHostEnvironment
  • IConfiguración

Entonces, lo que puedes hacer es;

 public class Startup { private readonly IWebHostEnvironment _env; private readonly IConfiguration _config; public Startup(IConfiguration configuration, IWebHostEnvironment env) { _config = configuration; _env = env; } ... }

Con la configuración específica del entorno definida en su método CreateHostBuilder , como en su pregunta.

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!