I have an ASP.NET Core website, using EFCore. I would like to do some work like logging to the database, but after having sent the response to the user in order to answer faster
Building on Jeans answer and a question and answer on the try - return - finally
pattern, the try
and finally
blocks can be removed (if you don't really want to catch an exception).
This leeds to the following code:
public async Task Request([FromForm]RequestViewModel model, string returnUrl = null)
{
var newModel = new ResponseViewModel(model);
// Some work
Response.OnCompleted(async () =>
{
// Do some work here
await Log(model);
});
return View("RequestView",newModel);
}