Condivisione della tecnologia

Non sono presenti classi Startup e metodi ConfigureServices nel progetto webapi ASP.NET Core creato tramite .NET6

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

La funzione di Startup.cs è quella di controllare i file statici, le pipe, i servizi, i log, il routing, le connessioni al database, la registrazione dei filtri, ecc. Utilizzati nel progetto e vengono utilizzati nell'avvio e nell'esecuzione di tutti i programmi correlati.

Se non è presente startup.cs, puoi creare manualmente una nuova classe Startup.cs (Il codice specifico può essere modificato in base alla propria situazione.

  1. public class Startup
  2. {
  3. public Startup(IConfiguration configuration)
  4. {
  5. Configuration = configuration;
  6. }
  7. public IConfiguration Configuration { get; }
  8. //在依赖注入容器中注册服务
  9. public void ConfigureServices(IServiceCollection services)
  10. {
  11. services.AddSingleton<IDbConfig.IDbConfig, DbConfig.DbConfig>();
  12. services.AddTransient<IBaseService, BaseService>();
  13. services.AddControllers();
  14. services.AddSwaggerGen(c =>
  15. {
  16. c.SwaggerDoc("v1", new OpenApiInfo { Title = "这里填写项目的名称", Version = "v1" });
  17. });
  18. }
  19. public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
  20. {
  21. if(env.IsDevelopment())
  22. {
  23. app.UseDeveloperExceptionPage();
  24. app.UseSwagger();
  25. app.UseSwaggerUI(c => c.SwaggerEndpoint("/swagger/v1/swagger.json", "这里填写项目的名称 v1"));
  26. }
  27. app.UseRouting();
  28. app.UseAuthorization();
  29. app.UseEndpoints(endpoints =>
  30. {
  31. endpoints.MapControllers();
  32. });
  33. }
  34. }

Dopo aver scritto quanto sopra, puoi passare al secondo passaggio.

Logica di aggiornamento interna di program.cs

Tutti gli oggetti richiesti dalla classe Startup.cs sono presenti nell'oggetto builder, quindi possiamo passare gli oggetti richiesti ai metodi e.

  1. var builder = WebApplication.CreateBuilder(args);
  2. var startup = new Startup(builder.Configuration);
  3. startup.ConfigureServices(builder.Services);
  4. var app = builder.Build();
  5. startup.Configure(app, builder.Environment);