Start Debugging

Блог

Страница 2 из 91

Исправление: Response.Cookies.Append не устанавливает cookie в браузере в ASP.NET Core

Заголовок Set-Cookie отправляется, но браузер отклоняет его или так и не сохраняет cookie. Исправляем SameSite=None без Secure, отсутствие credentials: 'include' вместе с AllowCredentials, политику согласия и поздние вызовы Append.

Ignite UI for Blazor переходит на MIT: более 50 бесплатных компонентов в IgniteUI.Blazor.Lite 1.0.0

Infragistics открыла под лицензией MIT более 50 элементов управления Ignite UI for Blazor и выпустила IgniteUI.Blazor.Lite и IgniteUI.Blazor.GridLite 1.0.0 для net8.0, net9.0 и net10.0. Что именно бесплатно, как это подключить и на какие подводные камни стоит обратить внимание.
2026-10-27 errorsef-coredotnet

Исправление: The property 'X' is part of a key and so cannot be modified or marked as modified в EF Core

EF Core никогда не обновляет значение ключа у отслеживаемой сущности. Не копируйте ключ из DTO, используйте уникальный индекс вместо альтернативного ключа, а настоящий ключ меняйте вставкой новой строки и удалением старой. Проверено на EF Core 10.0.14.

Как вызывать OpenAI API из Flutter web-приложения, не раскрывая API-ключ

Всё, что вы компилируете в сборку Flutter web, включая значения --dart-define, попадает в браузер открытым текстом. Единственный безопасный вариант: небольшой backend-прокси, который хранит ключ, аутентифицирует пользователя, фиксирует модель и передаёт обратно SSE-поток Responses API. Полный прокси на Dart shelf и клиент Flutter, проверено на Flutter 3.44, Dart 3.12 и http 1.6.

Как синхронно обойти две коллекции без выделений памяти в куче в C#

Enumerable.Zip выделяет 144-208 байт на вызов и работает примерно в 10 раз медленнее обычного цикла. Для массивов и списков цикл for по двум span, обрезанным до одной длины, не выделяет память и работает быстрее всего; для синтаксиса foreach небольшой zip-перечислитель на ref struct отстаёт от него не более чем на 25%. Замеры на .NET 10.0.10 и .NET 11 RC 3.

Polly 8.8.1: circuit breaker больше не удерживает значения AsyncLocal первого вызывающего

Polly.Core 8.8.1 запускает фоновый цикл circuit breaker под ExecutionContext.SuppressFlow, поэтому долгоживущий пайплайн больше не удерживает значения AsyncLocal того, кто его построил. Воспроизведение в 15 строк показывает утечку в 8.8.0 и исправление в 8.8.1.

.NET 10.0.14 вышел вне очереди: переполнение буфера при распаковке Brotli и два повторно выпущенных октябрьских CVE

Внеплановый релиз от 25 октября 2026 года (.NET 8.0.33, 9.0.22, 10.0.14, 11 RC3) исправляет переполнение буфера в Brotli, уязвимость с владельцами файлов в Linux-архивах tarball и два CVE, которые патчи от 13 октября закрыли не полностью.

Как держать отдельные папки миграций для нескольких DbContext в одном проекте EF Core

Передайте --output-dir один раз для каждого DbContext, и EF Core будет складывать все последующие миграции в эту папку и пространство имён. Почему раскладка по умолчанию получается перекошенной, откуда берётся CS0111 при общей папке, как перенести существующие миграции и когда стоит разделить таблицу истории.
2026-10-26 dotnetcsharplogging

Как использовать разные шаблоны вывода Serilog для разных уровней журналирования из appsettings.json

outputTemplate задаётся для sink целиком, поэтому для форматирования по уровням нужен либо ExpressionTemplate с блоками {#if @l ...}, либо два вложенных логгера Logger с фильтрами ByIncludingOnly / ByExcluding. Оба варианта настраиваются только через appsettings.json, проверено на Serilog 4.4, Serilog.Settings.Configuration 10.0.1 и Serilog.Expressions 5.0.