Technologieaustausch

Im über .NET6 erstellten ASP.NET Core-Webapi-Projekt gibt es keine Startup-Klasse und keine „ConfigureServices“-Methode

2024-07-12

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

Die Funktion von Startup.cs besteht darin, die im Projekt verwendeten statischen Dateien, Pipes, Dienste, Protokolle, Routing, Datenbankverbindungen, Filterregistrierung usw. zu steuern und beim Starten und Ausführen aller zugehörigen Programme zu verwenden.

Wenn keine Startup.cs vorhanden ist, können Sie manuell eine neue Startup.cs-Klasse erstellen (Der spezifische Code kann entsprechend Ihrer eigenen Situation geändert werden.

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

Nachdem Sie das oben Gesagte geschrieben haben, können Sie mit dem zweiten Schritt fortfahren.

interne Aktualisierungslogik von program.cs

Alle von der Startup.cs-Klasse benötigten Objekte sind im Builder-Objekt vorhanden, sodass wir die erforderlichen Objekte an die Methoden und übergeben können.

  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);