Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Спасибо за пост! Интересно было почитать про нововведения .NET 6, например что нет класса Startup, все в одном файле.
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<Program>();
});
// This method gets called by the runtime. Use this method to add services to the container.
// For more information on how to configure your application, visit https://go.microsoft.com/fwlink/?LinkID=398940
public void ConfigureServices(IServiceCollection services)
{
}
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
app.UseRouting();
app.UseEndpoints(endpoints =>
{
endpoints.MapGet("/", async context =>
{
await context.Response.WriteAsync("Hello World! (from Program.cs)");
});
});
}
}
Я правильно понял, что проблема WebApplicationBuilder - это отсутствие возможности проброса DI в конструктор промежуточного ПО ?
Почему же, всё возможно.
Шаблоны по умолчанию также ссылаются на класс Startup. Этот класс не реализует интерфейс явно.
Исследуем .NET 6. Часть 2. WebApplicationBuilder