Есть ли смысл изучать его ради маленьких в пару страниц сайтов (но всё же серверным функционалом, не просто "отдать html по ссылке")?
Для продакшена - да. HttpListener даже на линуксе вроде не будет работать, тк зависит от http.sys
Какие у него есть киллер-фичи, облегчающие жизнь?
1. Быстрый
2. Гибкий
По сравнению с httplistener.
я слегка пересрался от вида "пустого проекта asp net" в visual studio.
Ну там он действительно немного страшный, в .NET 6 его сделают чуть менее страшным.
Вообще минимальный проект выглядит примерно так:
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
Host.CreateDefaultBuilder(args)
.ConfigureWebHost(webBuilder =>
{
webBuilder.UseKestrel(o =>
{
o.ListenLocalhost(5000);
});
webBuilder.ConfigureServices(services =>
{
services.AddRouting();
});
webBuilder.Configure(app =>
{
app.UseRouting();
app.UseEndpoints(endpoints =>
{
endpoints.MapGet("/", async context =>
{
await context.Response.WriteAsync("Hello World!");
});
});
});
})
.Build()
.Run();
В .NET 6 будет MinApi, который выглядит вот так (без юзингов):
var app = WebApplication.Create(args);
app.MapGet("/", string () => "Hello World!");
app.Run();