Junior — Middle
Hoe organiseer je de uitvoering van de code alleen nadat de verwerking van het verzoek is voltooid?
sobes.tech AI
Antwoord van AI
In C# wordt meestal gebruik gemaakt van asynchrone methoden en await om code uit te voeren nadat de verwerking van een verzoek is voltooid, zodat de operatie kan worden afgewacht.
Als het om een webapplicatie gaat, bijvoorbeeld ASP.NET, kan middleware of gebeurtenissen worden gebruikt die worden geactiveerd na de verwerking van het verzoek.
Voorbeeld met een asynchrone methode:
public async Task<IActionResult> HandleRequest()
{
// Verzoek verwerken
await ProcessRequestAsync();
// Code die wordt uitgevoerd na voltooiing
PostProcess();
return Ok();
}
Als je code precies na de volledige afronding van het verzoek op serverniveau wilt uitvoeren, kun je middleware gebruiken:
public class AfterRequestMiddleware
{
private readonly RequestDelegate _next;
public AfterRequestMiddleware(RequestDelegate next)
{
_next = next;
}
public async Task InvokeAsync(HttpContext context)
{
await _next(context); // Verzoek verwerken
// Code die wordt uitgevoerd na verwerking van het verzoek
AfterRequestLogic();
}
}
Op deze manier wordt de code uitgevoerd nadat de verwerking van het verzoek is voltooid.