Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

294
Visualizações
¿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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda