9

Wir haben vor kurzem unsere Fehlerprotokolle überprüft und viele Ausnahmen von "Die Operation wurde abgebrochen" gesehen. Wir konnten sie nicht reproduzieren, es sieht aus wie eine abgebrochene Anfrage, aber alle stammen von OWIN HostAuthenticationFilter. HierOperationCanceledException from System.Web.Http.HostAuthenticationFilter

ist der Stack-Trace:

System.OperationCanceledException: The operation was canceled. 
    at System.Threading.CancellationToken.ThrowOperationCanceledException() 
    at System.Web.Http.HostAuthenticationFilter.<AuthenticateAsync>d__0.MoveNext() 
--- End of stack trace from previous location where exception was thrown --- 
    at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() 
    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) 
    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) 
    at System.Web.Http.Tracing.ITraceWriterExtensions.<TraceBeginEndAsyncCore>d__24.MoveNext() 
--- End of stack trace from previous location where exception was thrown --- 
    at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() 
    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) 
    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) 
    at System.Web.Http.Controllers.AuthenticationFilterResult.<ExecuteAsync>d__0.MoveNext() 
--- End of stack trace from previous location where exception was thrown --- 
    at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() 
    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) 
    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) 
    at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult() 
    at System.Web.Http.Controllers.ExceptionFilterResult.<ExecuteAsync>d__0.MoveNext() 

jemand vor, dass Fehler gesehen hat?

Antwort

1

Ich weiß, dass diese Frage über ein Jahr alt ist, aber ich lasse es hier für den Fall, dass jemand die gleiche Frage hatte wie ich.

Ja, dies wird durch eine abbrechende Anfrage verursacht und könnte aus einer Reihe von Gründen, aber in meinem Fall und was ich vermute, auch Ihr Fall sein. Es wurde vom Client verursacht, als es die Anforderungsverbindung schloss, bevor der Server antworten konnte. Damit löscht der Server den nicht mehr benötigten Thread, um ihn freizugeben, und löst die Ausnahme System.OperationCanceledException aus.

Schauen Sie sich diese Frage auf GitHub für IdentityServer, die ein halbes Jahr nach dieser Stackoverflow Frage erstellt wurde: https://github.com/IdentityServer/IdentityServer3/issues/1698

Ja, klingt wie der User-Agent seine HTTP-Verbindung geschlossen, bevor der Server eine Chance hatte, zu beenden antworten. - source

Sehen Sie diese ähnliche Frage Stackoverflow nach Möglichkeiten, von diesen Ausnahmen zu fangen ASP.NET Web API OperationCanceledException when browser cancels the request werden protokolliert.