@NNn131

Есть ли смысл изучать ASP.NET?

Я пишу небольшие веб-странички (чисто хобби), вроде блога или какого-нибудь чата, в общем, несложные. Всегда обходился стандартным HttpListener из библиотеки C#. Теперь же я узнал о существовании такой штуки как Asp net core.
Как я понял, это огромный такой комбайн из всего, я слегка пересрался от вида "пустого проекта asp net" в visual studio.
Вопрос-то вот в чём...
Напишите по-русски (не как в Википедии), что это вообще такое и зачем он нужен.
Есть ли смысл изучать его ради маленьких в пару страниц сайтов (но всё же серверным функционалом, не просто "отдать html по ссылке")?
Какие у него есть киллер-фичи, облегчающие жизнь?
  • Вопрос задан
  • 530 просмотров
Решения вопроса 1
Есть ли смысл изучать его ради маленьких в пару страниц сайтов (но всё же серверным функционалом, не просто "отдать 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();
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
sarapinit
@sarapinit Куратор тега C#
Точу водой камень
Есть ли смысл изучать его ради маленьких в пару страниц сайтов (но всё же серверным функционалом, не просто "отдать html по ссылке")?

Для таких целей вам подойдет та часть asp.net которая называется Razor Pages. Как раз познакомитесь с шаблонизацией страниц.

Но вообще, использование aspnet предполагает более глубокое знание языка. Поразбираться придется. Так что если не хотите тратить время, лучше остаться на простых страничках.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы