This week in .NET 27.07.2023

This week in .NET 27.07.2023

Artemov Ivan

🖋️ Статьи

How We Made Phobos 2.4's OpenTelemetry Usage 62% Faster

Phobos - библиотека для мониторинга Akka.NET
В новой версии, разработчики перешли на OpenTelemetry и рассказывают какие оптимизации им пришлось добавить в код, чтобы увеличить скороть работы некоторых методов на 62%

Using your Database as a Queue?

Тема, которая периодически всплывает в обсуждениях: "Могу ли я использовать свою БД в качестве брокера сообщений?".
Все из-за того, что иногда, очень не хочется вносить в инфраструктуры системы новые компоненты, а использовать имеющиеся.

Gracefully Handling Entity Framework Exceptions with EntityFramework.Exceptions

Все мы знаем что EF чаще всего кидает DbException или DbUpdateException

и разработчикам, иногда, приходится смотреть внутрь свойства Message!!

Разработчик предлагает свою библиотеку с Middleware (настраивается в DbContext), которое позволяет улучшить опыт и отлавливать только те исключения, которые нужны именно вам.

Сoncurrent HostedService Start and Stop in .NET 8

В .NET 8 появились опции для настройки поведения запуска и остановки HostedServices - ServicesStartConcurrently, ServicesStopConcurrently

.NET 8 TimeProvider and Unit Tests

В .NET 8 добавлен новый пакет Microsoft.Bcl.TimerProvider, который позволяет абстрагироваться от статического экземпляра DateTime и упростить тесты в вашем проекте, а если точнее - выкинуть перетаскиваемые из проекта в проект условный DateTimeProvider.

A-Frame Architecture with Wolverine

Рассказывается про A-Frame архитектуру, которая позволяет упростить(?)зависимости в вашем приложении.

How to set global setting for XUnit tests

В статье рассказывается как задавать глобальные настройки для xUnit-тестов.

Understanding HTTP host header and SNI

Хардкорная статья, рассказывающая как работает Host header и SNI

Если кратко - SNI позволяет клиенту сообщить имя хоста при установлении соединения по протоколу TLS, что позволяет нескольким сайтам работать на одном адресе без использования одного и того же сертификата на всех сайтах.

Replacing method calls with Interceptors

В статье рассказывается об экспериментальной возможности в .NET 8 - Interceptors, которая помогает подменять вызовы ваших методов другим кодом.
Подробнее о механизме рассказал наш коллега - Евгений Пешков

💡Issues & PRs

#89274 - Optimize MemoryMarshal.ToEnumerable for arrays and strings

#87067 - Add and use ConfigureAwaitOptions (issue старая, но примечательна тем, что у ConfigureAwait появилась перегрузка с enum-параметром)









Report Page