aspnetcore: (BlazorServer) each navigation to external logs 2 errors a minute later
Is there an existing issue for this?
- I have searched the existing issues
Describe the bug
Each time you leave the blazor circuit a minute later two exceptions are logged.
Expected Behavior
zero errors in log when no one does wrong things.
Steps To Reproduce
Run original sample created by dotnet.exe new blazorserver --name BlazorServerTemplate --output . -f net7.0 --auth Individual --use-program-main
On top right click on “Login” which is <a href="Identity/Account/Login">Log in</a> in LoginDisplay.razor.
Wait a minute (or maybe 2) then 2 errors are logged to console (or external logging apps like SEQ):
fail: Microsoft.AspNetCore.Components.Server.Circuits.RemoteNavigationManager[4]
Navigation failed when changing the location to https://localhost:7206/Identity/Account/Login?returnUrl=~/counter
System.Threading.Tasks.TaskCanceledException: A task was canceled.
at Microsoft.JSInterop.JSRuntime.InvokeAsync[TValue](Int64 targetInstanceId, String identifier, Object[] args)
at Microsoft.JSInterop.JSRuntimeExtensions.InvokeVoidAsync(IJSRuntime jsRuntime, String identifier, Object[] args)
at Microsoft.AspNetCore.Components.Server.Circuits.RemoteNavigationManager.<>c__DisplayClass13_0.<<NavigateToCore>g__PerformNavigationAsync|0>d.MoveNext()
fail: Microsoft.AspNetCore.Components.Server.Circuits.CircuitHost[111]
Unhandled exception in circuit 'XaCjYqsnL_QC9xVVeKm9IEojYbj1uBcoSgjuyHwtR7U'.
System.Threading.Tasks.TaskCanceledException: A task was canceled.
at Microsoft.JSInterop.JSRuntime.InvokeAsync[TValue](Int64 targetInstanceId, String identifier, Object[] args)
at Microsoft.JSInterop.JSRuntimeExtensions.InvokeVoidAsync(IJSRuntime jsRuntime, String identifier, Object[] args)
at Microsoft.AspNetCore.Components.Server.Circuits.RemoteNavigationManager.<>c__DisplayClass13_0.<<NavigateToCore>g__PerformNavigationAsync|0>d.MoveNext()
Exceptions (if any)
TaskCancelledException
.NET Version
7.0.0
About this issue
- Original URL
- State: open
- Created 2 years ago
- Reactions: 7
- Comments: 18 (3 by maintainers)
Thanks for contacting us.
We’re moving this issue to the
.NET 9 Planningmilestone for future evaluation / consideration. We would like to keep this around to collect more feedback, which can help us with prioritizing this work. We will re-evaluate this issue, during our next planning meeting(s). If we later determine, that the issue has no community involvement, or it’s very rare and low-impact issue, we will close it - so that the team can focus on more important and high impact issues. To learn more about what to expect next and how this issue will be handled you can read more about our triage process here.yep, still the same with .net 8 also for me. @mkArtakMSFT is there anything we can do, to prevent this?
Leaving this comment here for a fix that worked for me.
I kept getting the above NavigationManager exceptions when trying to interact with my custom Authentication middleware that handles my login/logout requests. This was what I was previously using to trigger a login (inside of my Blazor page, in the code section):
After replacing it with this:
I stopped getting those exceptions from NavigationManager. Hope this is helpful to others!
EDIT: Also, I noticed that the aforementioned exceptions appear if you try to navigate to a page that doesn’t exist.
@springy76 Sorry, yea you totally write. I was to impatient with intellisense 🙉 it’s like in your example but with context instead of content.
@Schtailian just a side note regarding your code snippet: Do not use the
Resultproperty of Tasks to “await” a task, all sorts of deadlocks might happen using such code. TheNotAuthorizedrenderfragment already transports the awaitedAuthenticationStateby context variable, just pass it around: