Warum warten minimale API -Endpunkte auf Aufgaben?

Post a reply

Smilies
:) :( :oops: :chelo: :roll: :wink: :muza: :sorry: :angel: :read: *x) :clever:
View more smilies

BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: Warum warten minimale API -Endpunkte auf Aufgaben?

by Anonymous » 06 Apr 2025, 23:34

Erstellen einer grundlegenden ASP.NET -Kern -Minimal -API. Ich war überrascht, dass die Anforderung erst dann zurückgibt, wenn ein Endpunkt eine Aufgabe zurückgibt.

Code: Select all

var builder = WebApplication.CreateBuilder(args);

builder.Services.AddSingleton();

var app = builder.Build();

app.MapGet("/counter/value", (ICounterService counter) => counter.Value);
app.MapGet("/counter/incrementnow", (ICounterService counter) => counter.Increment());
app.MapGet("/counter/incrementlater", (ICounterService counter) => Task.Delay(TimeSpan.FromSeconds(5)).ContinueWith(_ => counter.Increment()));
app.MapGet("/counter/incrementlaternowait", (ICounterService counter) => { Task.Delay(TimeSpan.FromSeconds(5)).ContinueWith(_ => counter.Increment()); return; });

app.Run();

interface ICounterService
{
int Value { get; }
void Increment();
}

class CounterService : ICounterService
{
public int Value { get; private set; }

public void Increment()
{
int previousValue = Value++;
Console.WriteLine($"Incremented from {previousValue} to {Value}.");
}
}
Wo ist dieses Verhalten dokumentiert?>

Top