В .net 9 завезли поддержку OAuth 2.0 Pushed Authorization Requests и вот статья с примерами реализации (да, на примере Duende IdentityServer) #dotnet
🔥6🤯1
Чятики принесли интересную штуку - какой-то новый профайлер для дотнета. Опенсурс, но по фичам надо сравнивать с dotProfiler и dotMemory конечно. #dotnet
👍2
Всё никак не могу добраться, чтобы попробовать Aspire на каком-то живом проекте, но регулярно попадаюца статьи про то, как там всё удобно :)) в т.ч. для гетерогенных микросервисов #dotnet
DEV Community
Orchestrating Distributed Apps (Spin/Rust and .NET/C#) with .NET Aspire/Dapr
Introduction If you have followed me long enough, then you know that I strongly believe...
🤔6
Очередная статья (12-я) из серии про Source Generators. Помоему это самая большая серия статьей про source gen, которые мне попадались. #dotnet
Andrew Lock | .NET Escapades
Reading compilation options and the C# version in source generators: Creating a source generator - Part 12
In this post I show how to read details of a target project from a source generator, such as assembly name, the current configuration, or the c# version
🔥12
Похоже что будет серия интересных статей про написание собственного GC. Пока что опубликована первая часть, но я буду следить :) Этот же автор кстати писал интересную другую серию статей про профайлинг. #dotnet
minidump.net
Writing a .NET Garbage Collector in C# - Part 1
First part of a series of articles about writing a .NET Garbage Collector in C# using NativeAOT. This part sets the expectations and setups the project, dealing with the first difficulties.
👍5👀2🔥1🤯1
Недавно в чятике видел вопрос/проблему - несоответствие scope для сервисов в DI, которые стреляют в рантайме в момент ресолва-активации сервиса (=в случайный момент времени, который может случится очень несразу).
Ну так вот на эту тему есть решение, которое провалидирует scope сервисов и сломает запуск, если там что-то не так #dotnet
upd в камментах написали, что это лучше делать для DEBUG окружении - конечно да, для релиза/прода это не имеет особого смысла и увеличивает время старта.
Ну так вот на эту тему есть решение, которое провалидирует scope сервисов и сломает запуск, если там что-то не так #dotnet
upd в камментах написали, что это лучше делать для DEBUG окружении - конечно да, для релиза/прода это не имеет особого смысла и увеличивает время старта.
🔥17👍3
В связи с приближающимся моментом перевода прекрасной штуки MassTransit на коммерческие рельсы - вспомнил, что есть неплохая альтернатива - Rebus, про которого я уже писал больше года назад. Он тоже умеет практически всё, что умеет MassTransit. В некоторых отношениях (например саги или декорацию pipeline, чтобы пробросить контекст между обработчиками саги) - в Rebus даже проще описывать.
Единственное, что прилично отличается - это регистрация consumerов (на скриншоте). У меня в проектах, например, все consumerы - суть scoped сервисы, которые используют другие scoped сервисы. А классический предлагаемый способ в Rebus через services.AddRebusHandler<T> - регает консумера как Transient сервис. Так что тут надо внимательней быть, да.
Попробую попозже сделать пример и для саг. #dotnet
Единственное, что прилично отличается - это регистрация consumerов (на скриншоте). У меня в проектах, например, все consumerы - суть scoped сервисы, которые используют другие scoped сервисы. А классический предлагаемый способ в Rebus через services.AddRebusHandler<T> - регает консумера как Transient сервис. Так что тут надо внимательней быть, да.
Попробую попозже сделать пример и для саг. #dotnet
🔥16👍2
Как запилить свой Model Context Protocol адаптер для того, чтобы интегрировать их в LLM. Ещё одна статья на Microsoft и примеры на C# #dotnet #llm
👍12🥱2