zhub.link is one of the many independent Mastodon servers you can use to participate in the fediverse.

Administered by:

Server stats:

28
active users

#net_9

0 posts0 participants0 posts today
Habr<p>PropertyBitPack: Упаковка свойств в поля</p><p>Доброго времени суток дорогие читатели, короче в декабре 24 года разбирался в коде рослин, и жутко понравилось то как команда рослин уместила 12 булевых свойств и одно байтовое, в единственное ushort поле. Ну и на основе этого быстренько за месяц создал простенькую библиотеку, авось людям это будет нужно.</p><p><a href="https://habr.com/ru/articles/885116/" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="">habr.com/ru/articles/885116/</span><span class="invisible"></span></a></p><p><a href="https://zhub.link/tags/c" class="mention hashtag" rel="tag">#<span>c</span></a># <a href="https://zhub.link/tags/c" class="mention hashtag" rel="tag">#<span>c</span></a>#_13 <a href="https://zhub.link/tags/net_9" class="mention hashtag" rel="tag">#<span>net_9</span></a> <a href="https://zhub.link/tags/%D0%B1%D0%B8%D0%B1%D0%BB%D0%B8%D0%BE%D1%82%D0%B5%D0%BA%D0%B0" class="mention hashtag" rel="tag">#<span>библиотека</span></a></p>
Habr<p>Отключение http-метрик в ASP.NET Core</p><p>Выход ASP.NET Core 9 порадовал возможностью выборочно отключать http-метрики. В статье сценарии использования с примерами и детальный разбор того, как всё устроено под капотом. Хочу разобраться</p><p><a href="https://habr.com/ru/articles/880738/" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="">habr.com/ru/articles/880738/</span><span class="invisible"></span></a></p><p><a href="https://zhub.link/tags/c" class="mention hashtag" rel="tag">#<span>c</span></a># <a href="https://zhub.link/tags/net" class="mention hashtag" rel="tag">#<span>net</span></a> <a href="https://zhub.link/tags/net_9" class="mention hashtag" rel="tag">#<span>net_9</span></a> <a href="https://zhub.link/tags/aspnet" class="mention hashtag" rel="tag">#<span>aspnet</span></a> <a href="https://zhub.link/tags/aspnet_core" class="mention hashtag" rel="tag">#<span>aspnet_core</span></a> <a href="https://zhub.link/tags/aspnet_webapi" class="mention hashtag" rel="tag">#<span>aspnet_webapi</span></a> <a href="https://zhub.link/tags/webapi" class="mention hashtag" rel="tag">#<span>webapi</span></a> <a href="https://zhub.link/tags/%D0%BC%D0%B5%D1%82%D1%80%D0%B8%D0%BA%D0%B8" class="mention hashtag" rel="tag">#<span>метрики</span></a> <a href="https://zhub.link/tags/metrics" class="mention hashtag" rel="tag">#<span>metrics</span></a> <a href="https://zhub.link/tags/prometheus" class="mention hashtag" rel="tag">#<span>prometheus</span></a></p>
Habr<p>Используем API Key и JWT Bearer аутентификацию вместе в ASP.NET Core Web API</p><p>Я расскажу, как реализовать аутентификацию с использованием как JWT, так и API-ключа на одном и том же endpoint в ASP.NET Core Web API. Совмещение этих схем аутентификации полезно, если вы хотите использовать токен JWT Bearer для аутентификации пользователей и API-ключ для аутентификации между сервисами.</p><p><a href="https://habr.com/ru/articles/879424/" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="">habr.com/ru/articles/879424/</span><span class="invisible"></span></a></p><p><a href="https://zhub.link/tags/net" class="mention hashtag" rel="tag">#<span>net</span></a> <a href="https://zhub.link/tags/net_core" class="mention hashtag" rel="tag">#<span>net_core</span></a> <a href="https://zhub.link/tags/net_8" class="mention hashtag" rel="tag">#<span>net_8</span></a> <a href="https://zhub.link/tags/net_9" class="mention hashtag" rel="tag">#<span>net_9</span></a> <a href="https://zhub.link/tags/aspnet_core" class="mention hashtag" rel="tag">#<span>aspnet_core</span></a> <a href="https://zhub.link/tags/authentication" class="mention hashtag" rel="tag">#<span>authentication</span></a> <a href="https://zhub.link/tags/authorization" class="mention hashtag" rel="tag">#<span>authorization</span></a> <a href="https://zhub.link/tags/jwt" class="mention hashtag" rel="tag">#<span>jwt</span></a> <a href="https://zhub.link/tags/api_key" class="mention hashtag" rel="tag">#<span>api_key</span></a></p>
Habr<p>Ошибки и подозрительные места в исходниках .NET 9</p><p>Каждый год выходит новая версия .NET, и .NET 9 не стал исключением. Как и в прошлый раз, мы попробуем свои силы в поиске ошибок в исходном коде .NET. Погнали копаться в исходниках!</p><p><a href="https://habr.com/ru/companies/pvs-studio/articles/877610/" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="ellipsis">habr.com/ru/companies/pvs-stud</span><span class="invisible">io/articles/877610/</span></a></p><p><a href="https://zhub.link/tags/net" class="mention hashtag" rel="tag">#<span>net</span></a> <a href="https://zhub.link/tags/net_9" class="mention hashtag" rel="tag">#<span>net_9</span></a> <a href="https://zhub.link/tags/c" class="mention hashtag" rel="tag">#<span>c</span></a># <a href="https://zhub.link/tags/static_analysis" class="mention hashtag" rel="tag">#<span>static_analysis</span></a></p>
Habr<p>API Key Authentication в ASP.NET Core Web Api</p><p>Недавно я столкнулся с задачей реализации аутентификации с использованием API Key в ASP.NET Core Web API. Хотя многие авторы рекомендуют использовать IAuthorizationFilter для этой цели, я обнаружил, что это не самый подходящий вариант. У меня есть более удачный подход, которым я хотел бы поделиться, включая примеры. Реализация была протестирована как в .NET 8, так и в .NET 9.</p><p><a href="https://habr.com/ru/articles/877302/" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="">habr.com/ru/articles/877302/</span><span class="invisible"></span></a></p><p><a href="https://zhub.link/tags/net" class="mention hashtag" rel="tag">#<span>net</span></a> <a href="https://zhub.link/tags/net_core" class="mention hashtag" rel="tag">#<span>net_core</span></a> <a href="https://zhub.link/tags/net_8" class="mention hashtag" rel="tag">#<span>net_8</span></a> <a href="https://zhub.link/tags/net_9" class="mention hashtag" rel="tag">#<span>net_9</span></a> <a href="https://zhub.link/tags/authentication" class="mention hashtag" rel="tag">#<span>authentication</span></a> <a href="https://zhub.link/tags/auth" class="mention hashtag" rel="tag">#<span>auth</span></a> <a href="https://zhub.link/tags/authorization" class="mention hashtag" rel="tag">#<span>authorization</span></a> <a href="https://zhub.link/tags/api" class="mention hashtag" rel="tag">#<span>api</span></a> <a href="https://zhub.link/tags/api_key" class="mention hashtag" rel="tag">#<span>api_key</span></a> <a href="https://zhub.link/tags/aspnet" class="mention hashtag" rel="tag">#<span>aspnet</span></a></p>
Habr<p>Гибридное кэширование в ASP.NET Core</p><p>В .NET 9 появилась новая библиотека для кэширования — HybridCache . В статье расскажу, что это такое, какие задачи решает, разберу примеры использования и особенности внутреннего устройства. Хочу разобраться</p><p><a href="https://habr.com/ru/articles/871716/" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="">habr.com/ru/articles/871716/</span><span class="invisible"></span></a></p><p><a href="https://zhub.link/tags/c" class="mention hashtag" rel="tag">#<span>c</span></a># <a href="https://zhub.link/tags/net" class="mention hashtag" rel="tag">#<span>net</span></a> <a href="https://zhub.link/tags/net_9_preview" class="mention hashtag" rel="tag">#<span>net_9_preview</span></a> <a href="https://zhub.link/tags/net_9" class="mention hashtag" rel="tag">#<span>net_9</span></a> <a href="https://zhub.link/tags/aspnet" class="mention hashtag" rel="tag">#<span>aspnet</span></a> <a href="https://zhub.link/tags/aspnet_core" class="mention hashtag" rel="tag">#<span>aspnet_core</span></a> <a href="https://zhub.link/tags/%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5" class="mention hashtag" rel="tag">#<span>программирование</span></a> <a href="https://zhub.link/tags/%D0%BA%D1%8D%D1%88%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5" class="mention hashtag" rel="tag">#<span>кэширование</span></a> <a href="https://zhub.link/tags/%D0%BA%D1%8D%D1%88%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85" class="mention hashtag" rel="tag">#<span>кэширование_данных</span></a> <a href="https://zhub.link/tags/%D0%B3%D0%B8%D0%B1%D1%80%D0%B8%D0%B4%D0%BD%D0%BE%D0%B5_%D0%BA%D1%8D%D1%88%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5" class="mention hashtag" rel="tag">#<span>гибридное_кэширование</span></a></p>
Habr<p>Служба Windows на C# в .Net 9 (Telegram.Bot)</p><p>После перехода Microsoft с .NET Framework на .NET Core программирование на C# стало более увлекательным, хотя некоторые аспекты изменились. В частности, шаблон проекта Служба Windows (.NET Framework) создаёт класс, наследник от ServiceBase в пространстве имен System.ServiceProcess . Прогеру предлагается реализовать виртуальные методы базового класса OnStart и OnStop , которые задают действия, подлежащие выполнению при запуске (остановке) службы, что собственно и есть суть и назначение Службы Виндовз. Регистрация Службы в этом случае производится с помощью утилиты installUtil.exe , в .Net Core это делается утилитой SC.exe . Реализовать службу на .NET Core (в моем случае .NET 9) не сложнее, но по другому, шаблон проекта теперь называется Worker Service (Microsoft) , а рабочий класс наследуется от BackgroundService. В этой статье я подробно опишу процесс создания, публикации и регистрации Службы в .Net 9 на примере службы для Telegram-бота (сокращенно — Телебот). Почему бот? Во-первых, писать Телебота на C# — это действительно приятно. Во-вторых, чтобы обеспечить его круглосуточную доступность на сервере под управлением Windows, логично использовать именно Службу Windows , которая будет поддерживать его работу в фоновом режиме и запускаться может сама при перезагрузке сервера. В заключении рассмотрим как добавить логирование в стандартный виндовый EventLog и немного обсудим функционал самого Телебота.</p><p><a href="https://habr.com/ru/articles/863770/" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="">habr.com/ru/articles/863770/</span><span class="invisible"></span></a></p><p><a href="https://zhub.link/tags/%D1%81%D0%BB%D1%83%D0%B6%D0%B1%D0%B0_windows" class="mention hashtag" rel="tag">#<span>служба_windows</span></a> <a href="https://zhub.link/tags/%D1%82%D0%B5%D0%BB%D0%B5%D0%B3%D1%80%D0%B0%D0%BC%D0%B1%D0%BE%D1%82" class="mention hashtag" rel="tag">#<span>телеграмбот</span></a> <a href="https://zhub.link/tags/eventlog" class="mention hashtag" rel="tag">#<span>eventlog</span></a> <a href="https://zhub.link/tags/net_core" class="mention hashtag" rel="tag">#<span>net_core</span></a> <a href="https://zhub.link/tags/net_9" class="mention hashtag" rel="tag">#<span>net_9</span></a></p>
Habr<p>Что нового в .NET 9?</p><p>.NET 9 вышел в релиз, и значит, можно начинать переносить свои проекты на новую версию. В этой статье мы рассмотрим новые улучшения и фишки .NET: C# 13, производительность, BuildCheck, GC, LINQ, NuGet Audit и прочее.</p><p><a href="https://habr.com/ru/companies/pvs-studio/articles/858174/" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="ellipsis">habr.com/ru/companies/pvs-stud</span><span class="invisible">io/articles/858174/</span></a></p><p><a href="https://zhub.link/tags/net" class="mention hashtag" rel="tag">#<span>net</span></a> <a href="https://zhub.link/tags/net_9" class="mention hashtag" rel="tag">#<span>net_9</span></a> <a href="https://zhub.link/tags/c" class="mention hashtag" rel="tag">#<span>c</span></a># <a href="https://zhub.link/tags/C" class="mention hashtag" rel="tag">#<span>C</span></a>#_13</p>
Habr<p>Обзор нововведений в C# 13</p><p>Совсем скоро выйдет новая версия языка C#, а мы продолжаем серию ежегодного обзора нововведений. Изменений в этом году больше, чем в прошлом, что радует. Есть как важные изменения, так и весьма узкоспециализированные. Давайте посмотрим на них более детально.</p><p><a href="https://habr.com/ru/companies/pvs-studio/articles/852520/" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="ellipsis">habr.com/ru/companies/pvs-stud</span><span class="invisible">io/articles/852520/</span></a></p><p><a href="https://zhub.link/tags/C" class="mention hashtag" rel="tag">#<span>C</span></a># <a href="https://zhub.link/tags/net" class="mention hashtag" rel="tag">#<span>net</span></a> <a href="https://zhub.link/tags/c" class="mention hashtag" rel="tag">#<span>c</span></a>#13 <a href="https://zhub.link/tags/net_9" class="mention hashtag" rel="tag">#<span>net_9</span></a></p>