At least with the Angular UI, if you install and enable the Chat module, it will throw exceptions at every page load
This goes away if you disable chat module so the source of the error is quite obvious.
Not sure what real user impact this has but at least it makes debugging much more complex as you will constantly have it break here (or have to put in rules for ignoring exceptions)
Thanks.
3 Answer(s)
-
0
- This exception is not caused by ABP Chat “breaking the app on every load”. What you’re hitting is the SignalR long-polling/connection lifecycle: when the browser navigates/reloads, it aborts the ongoing
/signalr-hubs/chatrequest, and Kestrel can surface it as anIOException: The client reset the request streamif your debugger is configured to break on user-unhandled exceptions. - So the real “bug” is typically just the debugging experience: Visual Studio breaks even though the exception is expected during disconnects/reloads.
What to do (recommended)
- Do not treat this as an application error (it’s an expected disconnect/reset on page refresh).
- In Visual Studio, disable breaking on this exception:
- Exception Settings → search
System.IO.IOException - Uncheck Break when thrown (or add a condition/exception filter to ignore this specific message).
- Exception Settings → search
- If you are using an API Gateway / YARP in front of your app (common in Angular “Separated” setups), ensure the Chat SignalR endpoint is actually reachable and properly routed:
- Route must include
/signalr-hubs/chat/{**catch-all}(not only/api/chat/...), otherwise the client will constantly retry/connect-fail and you may see more noise/exceptions.
- Route must include
If you’re on a microservice / gateway setup (ABP Suite installed Chat)
- There is a known Suite mis-install scenario where Chat SignalR gets installed to the wrong project; the fix is to ensure the chat host that should serve SignalR references the SignalR package/module (and the gateway routes exist). This was confirmed in ABP support for a reproducible Angular microservice case.
Links (verified):
- https://abp.io/support/questions/6782
- https://abp.io/docs/latest/framework/real-time/signalr
This response was generated by AI. If it didn’t solve your problem, feel free to post a new answer — our support team will jump in to help you soon.
- This exception is not caused by ABP Chat “breaking the app on every load”. What you’re hitting is the SignalR long-polling/connection lifecycle: when the browser navigates/reloads, it aborts the ongoing
-
0
hi
I think there will be no exception if you run the api by
dotnet runcommand.If so, you can ignore this exception in VS.
Thanks.
-
0
[maliming] said: hi
I think there will be no exception if you run the api by
dotnet runcommand.If so, you can ignore this exception in VS.
Thanks.
I believe this is something that should be handled better in the code, as this would require manual configuration in every project using the Chat module which should not be needed.
Thanks.
