TGViewer
.NET Разработчик .NET Разработчик @netdeveloperdiary · 6.74K subscribers
Post #2768 2.67K
День 2294. #ЧтоНовенького
Поддержка Server-Sent Events (SSE)
ASP.NET Core теперь поддерживает возврат результата ServerSentEvents с помощью API TypedResults.ServerSentEvents. Эта функция поддерживается как в минимальных API, так и в приложениях на основе контроллеров.

События Server-Sent (SSE) — это технология push-уведомлений со стороны сервера, которая позволяет серверу отправлять поток сообщений о событиях клиенту в рамках одного HTTP-соединения. В .NET сообщения о событиях представлены как объекты SseItem<T>, которые могут содержать тип события, идентификатор и полезные данные типа T.

Класс TypedResults включает новый статический метод ServerSentEvents для возврата результата ServerSentEvents. Первым параметром этого метода является IAsyncEnumerable<SseItem<T>>, который представляет собой поток сообщений о событиях, отправляемых клиенту.

В следующем примере показано, как использовать API TypedResults.ServerSentEvents для возврата клиенту потока событий сердечного ритма в виде объектов JSON:
app.MapGet("/json-item", 
(CancellationToken ct) =>
{
async IAsyncEnumerable<HeartRateEvent>
GetHeartRate(
[EnumeratorCancellation]
CancellationToken token)
{
while (!token.IsCancellationRequested)
{
var hr = Random.Shared.Next(60, 100);
yield return HeartRateEvent.Create(hr);
await Task.Delay(2000, token);
}
}

return TypedResults.ServerSentEvents(
GetHeartRate(ct),
eventType: "heartRate");
});


Подробнее Server-Sent Events разобрал Ник Чапсас в своём видео.

Источник: https://github.com/dotnet/core/blob/main/release-notes/10.0/preview/preview3/aspnetcore.md#support-for-server-sent-events-sse
  • 👍 28
More from @netdeveloperdiary
  1. Sep 26, 2026День 2796. #ЗаметкиНаПолях #AI Рабочий процесс с Copilot для .NET. Продолжение Начало Три…
  2. Sep 25, 2026День 2795. #ЗаметкиНаПолях #AI Рабочий процесс с Copilot для .NET. Начало Проблема с позиц…
  3. Sep 24, 2026День 2794. #Оффтоп #Здоровье Сегодня будет необычный пост. Завтра в Москве стартует конфер…
  4. Sep 23, 2026День 2793. #ЗаметкиНаПолях #SQL 10 Редких Возможностей SQL, Которые Стоит Знать Каждому. Ч…
  5. Sep 22, 2026День 2792. #ЗаметкиНаПолях #SQL 10 Редких Возможностей SQL, Которые Стоит Знать Каждому. Ч…
  6. Sep 21, 2026🔍Тестовое собеседование с Senior C# разработчиком уже завтра 22 сентября(уже завтра!) в 1…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →