home.social

#aspnet_core — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #aspnet_core, aggregated by home.social.

fetched live
  1. Зачем всё так сложно: постановка и архитектура

    Итак, разбираем реальные сценарии, роли судей и организаторов, ночные нюансы и архитектуру SPA с оффлайн-синхронизацией.

    habr.com/ru/articles/1070910/

    #вебразработка #aspnet_core #c# #javascript #vuejs #postgresql #архитектура_приложений #эксперимент

  2. Зачем все так сложно

    У нас уже подходит к концу лето 2026 года. AI‑агенты, вайб-кодинг, Docker и тонны фреймворков, библиотек и примеров для всех современных платформ. Микросервисы — цель, икона и грааль как в разговорах, так и в требованиях к кандидатам. В одиночку можно быстро поднять работающий проект, подключить к нему ИИ и выложить для использования. Наконец-то закончилась волна «входа в IT» с бесконечными полусырыми курсами и инфоцыганскими каналами для вайтишников. Как-то поуспокоилось. Но есть ряд вопросов: Не тратит ли разработчик больше времени, сражаясь с настройками контейнеров для разработки или с тем же Webpack, чем на написание самого кода? Сколько нужно изучить, чтобы написать простое веб-приложение? Каково минимальное количество библиотек и фреймворков для этого? Всегда ли нужны микросервисы? Именно такие вопросы давно и регулярно всплывали в разговорах с коллегами и для ответа на них был сделан небольшой проект — чисто эксперимента ради. О нём я и хочу рассказать. Что-то будет разбираться очень подробно, а что-то пройдём мимо — это не обучение, это результат эксперимента.

    habr.com/ru/articles/1070908/

    #вебразработка #aspnet_core #c# #javascript #vuejs #архитектура_приложений #эксперимент

  3. Как мы превратили API-контракт в отдельный артефакт и сократили генерацию клиента с 15 минут до нескольких секунд

    Привет! Я Дмитрий, старший Angular-разработчик в команде Klecks — платформы для разметки данных AI-Центра Т-Банка. Последние годы мы жили с NSwag: один api.ts на 13 000 строк, Docker-сборка бэкенда и ожидание по 15—17 минут каждый раз, когда менялся контракт. В рамках одной из задач мы решили перейти к модели, где OpenAPI-файлы лежат в репозитории, а клиент генерируется через ng-openapi-gen. Расскажу, какие проблемы мы пытались решить, что пробовали на стороне ASP.NET Core и какой workflow получился в итоге.

    habr.com/ru/companies/tbank/ar

    #openapi_generator #openapi #code_generation #api_contract #nswag #typescript #angular #aspnet_core

  4. Конвейеры на Channels: как не получить тихую утечку памяти и вечно висящий воркер

    Неограниченный канал спокойно работает до первого замедления потребителя, после чего очередь начинает расти, память — заканчиваться, а фоновый воркер может зависнуть при остановке сервиса. В статье разберём, как строить конвейеры на System.Threading.Channels : настраивать обратное давление, корректно завершать обработку, не терять исключения и безопасно использовать каналы в ASP.NET Core.

    habr.com/ru/companies/otus/art

    #SystemThreadingChannels #C# #NET #ASPNET_Core #асинхронное_программирование #каналы #конвейеры_обработки_данных #обратное_давление #фоновые_задачи #утечка_памяти

  5. AI‑тренер по CS2 на DeepSeek: где LLM выдумывает и почему семь недель стоили $1,45

    Всем привет. Я много лет играю в Counter-Strike и тренируюсь, как большинство: захожу в Deathmatch «размяться», играю три катки, тильтую, выхожу. Сервисы статистики при этом исправно сообщают, что у меня просела точность и выросло время реакции. Спасибо, а делать-то что? Весной я решил собрать себе тренера сам. Сразу пара слов для контекста: я самоучка, в команде никогда не работал, основной опыт — десктопные утилиты и автоматизация, из веба до этого были только админки под собственные инструменты. В CS тоже звёзд с неба не хватаю, Premier в районе трёх тысяч, на FACEIT вообще первый уровень. Так что история будет не про успешный успех, а про то, где я наступил на грабли и что из этого вынес. Сам сайт делает вот что: подтягивает историю матчей, отдаёт агрегированную статистику LLM, а та разбирает сильные и слабые места и составляет недельный план тренировок, с конкретными картами, режимами и минутами. Отметил выполненное, сыграл новые матчи — план подстроился. Проект мой, ссылка будет одна и в конце. Статья состоит из трёх частей: сколько это всё стоит в токенах, где модель выдумывает и как я это ловлю кодом, ну и подводные камни DeepSeek API и связки EF Core + SQLite.

    habr.com/ru/articles/1062718/

    #LLM #DeepSeek #галлюцинации #петпроект #ASPNET_Core #SQLite #Entity_Framework #CounterStrike_2

  6. Как стримить данные в ASP.NET и как их принять

    Недавно мне попалась отличная статья про IAsyncEnumerable и стриминг данных . В ней у автора упал прод, который пытался выдать 500 000 записей разом и упал на вызове ToListAsync() с OOM при 8 ГБ RAM. Далее в статье описывается, как все это стримить с помощью IAsyncEnumerable с примерами кода. В целом после прочтения статьи может сложиться впечатление, что все свои ToListAsync() срочно нужно убрать и заменить на стриминг. Но со времен появления стримингового апи в .NET мне всегда было интересно, не только то как отдавать стримы, но и как это все получать на клиенте?

    habr.com/ru/articles/1052622/

    #IAsyncEnumerable #streaming #SSE #NDJSON #ASPNET_Core #EF_Core #Kestrel #производительность #net_10

  7. File-based apps в .NET 10

    Для небольших скриптов на C# долгое время приходилось создавать полноценный проект даже ради нескольких строк кода. В.NET 10 появилась поддержка file‑based apps — теперь приложение можно запускать и публиковать прямо из одного.cs‑файла. Разбираемся, как это работает и где новый подход действительно полезен.

    habr.com/ru/companies/otus/art

    #NET_10 #C# #filebased_apps #Native_AOT #ASPNET_Core #minimal_API #NuGet #CLI_утилиты #автоматизация #скрипты

  8. Source generators в.NET: как они вытеснили рефлексию из стандартной библиотеки

    Ещё несколько лет назад рефлексия считалась нормой для.NET‑приложений. Сегодня Microsoft последовательно выносит всё больше работы из runtime в этап компиляции: JSON‑сериализация, логирование, регулярные выражения, конфигурация и даже тестовые фреймворки всё чаще опираются на source generators. Разбираемся, почему рефлексия начала сдавать позиции, где кодогенерация уже стала стандартом и что это меняет для разработчиков.NET.

    habr.com/ru/companies/otus/art

    #source_generators #C# #NET #рефлексия #производительность #Native_AOT #LoggerMessage #кодогенерация #оптимизация_приложений #ASPNET_Core

  9. Как я устал вести ИТ‑активы в Excel и написал свой ITAM/CMDB

    Любой ИТ‑отдел рано или поздно приходит к таблице. Сначала она выглядит безобидно: инвентарный номер, пользователь, кабинет, модель компьютера, серийный номер. Потом туда добавляются мониторы, принтеры, картриджи, счета, договоры, лицензии, гарантия, комментарии, история ремонтов, перемещения между отделами, списание, выдача, возврат, кто кому что передал и почему у нас опять «где‑то был такой же блок питания». Через какое‑то время это уже не таблица, а маленькая самописная CMDB, только без связей, истории, прав доступа, нормального поиска и уверенности, что данным можно доверять. В какой‑то момент я понял, что мне нужна не просто «ещё одна база компьютеров», а единая система для повседневной работы ИТ‑службы: техника, пользователи, документы, счета, лицензии, картриджи, удалённая поддержка, история изменений и автоматическая инвентаризация. Так появился Admin Desk. Это не статья в стиле «я сделал идеальную систему». Скорее рассказ о том, почему простая задача учёта техники быстро превращается в продукт, где самое сложное — не CRUD, а связи между объектами, история, права, эксплуатация и удобство для реального администратора.

    habr.com/ru/articles/1049446/

    #ITAM #CMDB #учёт_активов #инвентаризация #системное_администрирование #ASPNET_Core #Razor_Pages #MariaDB #SNMP #LDAP

  10. Обычный или облачный гейминг в EvertyDesk

    Рассказываю как собрал self-hosted платформу стриминга игр с нуля: Android sender на Kotlin + C++ JNI, собственный UDP транспорт, NAT traversal с relay fallback и Control Plane на ASP.NET Core с биллингом. Особое внимание — фиче TouchLatencySprint, которая режет input lag без root-доступа.

    habr.com/ru/articles/1043420/

    #game_streaming #android #kotlin #H264 #UDP #NAT_traversal #screen_capture #low_latency #selfhosted #ASPNET_Core

  11. [Перевод] Ограничения размера cookie в ASP.NET Core в продакшене: причины и способы решения

    В dev-среде аутентификация может годами выглядеть безобидно: логин прошёл, cookie выпущена, [Authorize] работает. А потом приложение переезжает в продакшен — и часть пользователей начинает вылетать из системы без понятной ошибки. Иногда всплывает 431 Request Header Fields Too Large, иногда сервер просто перестаёт принимать сессию, которая ещё минуту назад выглядела корректной. В статье разбираем, почему cookie аутентификации в ASP.NET Core разрастаются до опасных размеров, как это проявляется в реальных системах и какие решения помогают не лечить симптомы, а привести схему аутентификации в нормальное production-ready состояние. Разобрать проблему

    habr.com/ru/companies/otus/art

    #c# #ASPNET_Core #cookie #аутентификация #авторизация #серверные_сессии #токены

  12. Scalar вместо Swagger UI. Надо ли оно нам?

    С выходом .NET 9 пакет Swashbuckle.AspNetCore выпилили из шаблона Web API. Это означает, что при создании нового приложения ASP.NET Core Web API у нас больше нет привычного зеленого пользовательского интерфейса Swagger для тестирования endpoint-ов. В статье — краткий разбор, почему это произошло, и обзор альтернативы Scalar. Хочу разобраться

    habr.com/ru/articles/892508/

    #c# #net #net_9 #net_core #aspnet_core #aspnet_webapi #webapi_testing #swagger #scalar #openapi

  13. Scalar на замену Swashbuckle в .NET 9 и как это готовить с Design API First

    Рассказываю чем заменить Swashbuckle, который убрали из .Net 9, для создания страницы похожей на Swagger UI.

    habr.com/ru/articles/904738/

    #web_api #aspnet_core #swagger #open_api #net_9 #dotnet_core #dotnet #typespec #webapi #openapi

  14. Событийный диспетчер отложенных задач на C#: консолидация и дедупликация данных в текущей инстанции

    Всем привет, меня зовут Артур Богданов. Я занимаюсь проектированием, разработкой и оптимизацией высоконагруженных веб-приложений на ASP.NET Core. Хочу поделиться с сообществом своей разработкой, которая позволяет использовать несколько фоновых задач (или «раннеров») для отложенной обработки консолидированных данных. Раннеры построены на шаблоне PubSub для асинхронного ожидания новых задач, что делает этот подход более реактивным, но менее ресурсоемким.

    habr.com/ru/articles/896088/

    #C# #net #aspnet_core #очередь #асинхронность #многопоточность #таск #таскменеджер #фоновые_задачи

  15. Отключение http-метрик в ASP.NET Core

    Выход ASP.NET Core 9 порадовал возможностью выборочно отключать http-метрики. В статье сценарии использования с примерами и детальный разбор того, как всё устроено под капотом. Хочу разобраться

    habr.com/ru/articles/880738/

    #c# #net #net_9 #aspnet #aspnet_core #aspnet_webapi #webapi #метрики #metrics #prometheus

  16. Используем API Key и JWT Bearer аутентификацию вместе в ASP.NET Core Web API

    Я расскажу, как реализовать аутентификацию с использованием как JWT, так и API-ключа на одном и том же endpoint в ASP.NET Core Web API. Совмещение этих схем аутентификации полезно, если вы хотите использовать токен JWT Bearer для аутентификации пользователей и API-ключ для аутентификации между сервисами.

    habr.com/ru/articles/879424/

    #net #net_core #net_8 #net_9 #aspnet_core #authentication #authorization #jwt #api_key

  17. Гибридное кэширование в ASP.NET Core

    В .NET 9 появилась новая библиотека для кэширования — HybridCache . В статье расскажу, что это такое, какие задачи решает, разберу примеры использования и особенности внутреннего устройства. Хочу разобраться

    habr.com/ru/articles/871716/

    #c# #net #net_9_preview #net_9 #aspnet #aspnet_core #программирование #кэширование #кэширование_данных #гибридное_кэширование

  18. Лучшие backend-фреймворки для веб-разработки в 2024 году

    Фреймворки упрощают разработку, ликвидируют хаос и задают понятные рамки при создании приложения. При этом каждый фреймворк имеет определенный набор готовых инструментов — проверенных опытом технических решений, ускоряющих и облегчающих разработку. В этой статье мы рассмотрим 10 самых популярных фреймворков для backend-а в 2024 году, без которых сегодня не обходится практически ни одно приложение.

    habr.com/ru/companies/timeweb/

    #timeweb_статьи #rest_api #aspnet_core #microsoft #linux #windows #django #python #laravel #mvc

  19. Реализуем паттерн Unit of Work в ASP.NET Core

    Привет, Хабр! Сегодня разберём, как реализовать паттерн Unit of Work в ASP.NET Core . Вместо долгих теоретических рассуждений, посмотрим, зачем он вообще нужен, и как правильно его применить на практике.

    habr.com/ru/companies/otus/art

    #c# #aspnet_core

  20. Пишем приложение на C#-стеке

    Всем привет! Меня зовут Дмитрий Бахтенков , и я .NET-разработчик. Сегодня мы проведем эксперимент — напишем полноценное веб-приложение с использованием решений, которые написаны на C# и платформе .NET. Больше моих статей можно прочитать в медиа вАЙТИ . Что я имею в виду? Как мы знаем, в общем случае веб-приложение состоит из бэкенда, фронтенда, базы данных и иногда из кеша. С бэкендом и фронтендом всё понятно: у нас есть замечательный фреймворк ASP.NET Core для сервера и blazor или razor pages для клиента. Однако инфраструктурные части приложения — БД, кеши — чаще всего пишутся на других, более низкоуровневых языках, таких как C и C++. К счастью, недавно Microsoft выпустила решение для кеширования — аналог Redis, который называется Garnet . В качестве основной базы данных можно использовать документную БД RavenDB , которая как раз написана на C#.

    habr.com/ru/companies/beeline_

    #aspnet_core #blazor #ravendb #garnet #кеширование #вебразработка

  21. Пожалуй, самый простой способ спасти ваше .NET-приложение, или Prometheus (и не только) спешит на помощь

    Существует множество возможных проблем приложений, которые удается заметить лишь с опозданием. Особенно когда релиз уже состоялся… К счастью, существует пара ключевых инструментов, которые выручают почти в любой ситуации, — и вряд ли найдется что-то проще. Меня зовут Александр Пугач, я — Senior .NET Developer в проекте Data Warehouse «Лаборатории Касперского» (да-да, вы могли не знать, но у нас в компании широко используются .NET и «шарпы» ). В этой статье я расскажу, как работать с метриками в .NET на примере OpenTelemetry и Prometheus — систем, которые помогают отслеживать проблемы в работе приложений и быстро на них реагировать, обеспечивая стабильную и отказоустойчивую работу сервисов. Когда-то метрики изменили мой процесс разработки, и теперь я надеюсь, что эта статья поможет вам перевернуть ваш взгляд на свои проекты.

    habr.com/ru/companies/kaspersk

    #net #c# #net_core #программирование #aspnet_core #visual_studio #aspnet #c#net #разработка #OpenTelemetry #Prometheus #opentelemetrydotnet #opentelemetrydotnetcontrib #Colleсtor_AppMetrics #prometheusnet #HealthChecks #Alerting #Grafana #Мониторинг #Obsevability #Docker

  22. [Перевод] Разбираемся с паттерном REPR в ASP.NET Core

    В этой статье мы рассмотрим паттерн проектирования REPR (request‑endpoint‑response — «запрос‑конечная_точка‑ответ»), как он упрощает разработку API и как его можно реализовать на C#.

    habr.com/ru/companies/otus/art

    #c# #паттерн_REPR #ASPNET_Core #REPR

  23. Тонкости работы short-circuit routing в ASP.NET Core 8.0

    В статье детально и с примерами рассказываю про short-circuit routing — новую фичу Minimal API в ASP.NET Core 8.0. Она позволяет игнорировать добавленные middleware при вызове отдельных endpoint-ов. Рассмотрим, как это работает, сравним методы и немного поговорим про то, как добавляются middleware в приложение на ASP.NET Core. Не читайте эту статью, если вам нужно просто прикрутить short-circuit routing и не париться, как оно работает, — для этого достаточно документации и обзора от Andrew Lock . У меня же после них осталось больше вопросов, чем ответов, потому я залез по самые локти в код и разобрался. Если вам тоже интересно — добро пожаловать под кат. Хочу разобраться

    habr.com/ru/articles/791336/

    #net #net_8 #c# #c#_12 #aspnet_core #aspnet_core_80 #webapi #web_api #minimal_api #web_application

  24. Наш опыт мультиаутентификации в приложениях ASP.NET Core

    Привет, Хабр! На связи разработчик АО АльфаСтрахование. В этой статье я хочу рассказать о мультиаутентификации в ASP.NET Core приложениях. Нам довольно часто нужно писать .NET Core приложения. Нередко они используются для интеграции крупных систем. А в этих системах частенько свой собственный набор учетных записей (далее УЗ) и инструментов по управлению доступа к ним. При создании интеграции у нас часто возникает проблема, когда в рамках одного запроса нужно нужно аутентифицировать 2 и более учетных записей

    habr.com/ru/companies/alfastra

    #c# #net #net_core #aspnet_core #authentication #аутентификация #middleware #альфастрахование

  25. Обработка ошибок с помощью IExceptionHandler в ASP.NET Core 8.0

    Давайте рассмотрим, как вы можете реализовать обработку ошибок, используя IExceptionHandler в .NET Core 8.0. Этот подход следует похожим паттернам предыдущих методов обработки ошибок в ASP.NET Core, но добавляет дополнительную возможность внедрения вашей собственной логики обработки исключений в exception handling middleware .

    habr.com/ru/articles/787674/

    #exception #exceptionhandler #net_core #aspnet_core #net_core_80 #logging #error #c# #c#net #webapi

  26. Разворачиваем и заворачиваем в docker проект ASP.NET core на Ubuntu в связке с PostgreSQL

    На просторах интернета заметил, что довольно мало статьей про ASP.NET под Linux . К сожалению, новички вроде меня копаются часами в поисках нужной информации, поэтому в этой статье мы вместе развернём минимальное приложение ASP.NET core под Linux в среде Ubuntu и в связке с PostgreSQL и с котиками на сервере nginx, а также упакуем всё в docker контейнеры. В ходе этой статьи мы разберём некоторые консольные команды для ежедневного пользования. Приступить к чтению

    habr.com/ru/articles/780952/

    #docker #dockercompose #dockerfile #c# #aspnet_core #aspnet #asp #web_api #restful #postgresql