SignalR has a maximum message size (default 32KB). Sending a 10MB message will cause the connection to drop. You need a strategy for large data.
You *can* increase the MaximumReceiveMessageSize in your options, but this is a security risk (DoS attack surface). A large message will occupy the server's input buffer for a long time, potentially timing out other users on the same connection thread.
Instead of sending 5MB of data over the Hub, push a small 'Notification' to the client: "NewDataAvailable": "https://api.myapp.com/data/uid-123". The client then uses a standard HTTP GET to fetch the large file. This keeps SignalR fast for what it's best at: **Ochestration and Notifications**.
Q: "Why does the client disconnect on large messages?"
Architect Answer: "It's a defensive measure. SignalR is designed for 'Chatty' low-latency communication. If a message is too big, the server assumes it's either an error or an attack and closes the circuit to protect itself. Always keep your Hub messages under 32KB whenever possible."