Compartilhamento de tecnologia

Não há classe Startup e método ConfigureServices no projeto webapi do ASP.NET Core criado por meio do .NET6

2024-07-12

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

A função do Startup.cs é controlar os arquivos estáticos, pipes, serviços, logs, roteamento, conexões de banco de dados, registro de filtro, etc. usados ​​no projeto, e são usados ​​na inicialização e execução de todos os programas relacionados.

Se não houver startup.cs, você poderá criar manualmente uma nova classe Startup.cs (O código específico pode ser modificado de acordo com sua situação.

  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. }

Depois de escrever o que foi dito acima, você pode ir para a segunda etapa.

lógica de atualização interna program.cs

Todos os objetos exigidos pela classe Startup.cs estão presentes no objeto construtor, para que possamos passar os objetos necessários para os métodos 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);