Warum gibt es in einer ASP.NET -App eine StackoverFlowexception mit configureAwait (false), jedoch nicht mit configureAw
Posted: 16 Feb 2025, 09:32
Ich habe eine ASP.NET -App auf .NET 4.8. Ich bekomme eine StackoverFlowexception . Ich habe eine Aktionsmethode, die eine andere Methode aufruft CallbackMethod wob Die Ausnahme über den Stapelüberlauf tritt jedoch irgendwo nach Abschluss der Aufgabe auf, die dieses Verhalten beeinflusst. < /P>
Für ein bestimmtes Szenario löst eine verschachtelte Methode tief innerhalb dieses asyncMethod2 auf Zeile 2 eine benutzerdefinierte Ausnahme aus, die erwartet wird. Aber wenn dies der Fall ist, löst meine App die Ausnahme des Stapelüberlaufs aus und beendet. ändert und wahr, dass die Ausnahme des Stapelüberlaufs nicht geworfen wird.
https://github.com/riteshksriv/testso
Code: Select all
public static async Task CallBackMethod() where T : Meta
{
// Changing to ConfigureAwait(true) ensures no Stackoverflow exception
var test = await asyncMethod1().ConfigureAwait(false);
// Custom Exception is thrown from action.Invoke()
await asyncMethod2().ConfigureAwait(false);
test++;
}
Code: Select all
var test = await asyncMethod1().ConfigureAwait(true)
< /code>
Dann wird die Ausnahme des Stapelüberlaufs nicht ausgelöst. Nur die erwartete benutzerdefinierte Ausnahme wird ausgelöst und behandelt. < /P>
Ich dachte geworfen. Ich wollte verstehen, was sich zwischen configureAwait (false)
https://github.com/riteshksriv/testso